iqm-pulla 8.3.0__tar.gz → 9.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/CHANGELOG.rst +16 -0
  2. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/PKG-INFO +6 -6
  3. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/Custom Gates and Implementations.ipynb +4 -3
  4. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/Example - Executing QIR programs.ipynb +3 -17
  5. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/Example - Measuring T1.ipynb +26 -75
  6. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/requirements/base.txt +1 -1
  7. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/requirements/notebook.txt +1 -1
  8. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/requirements/qir.txt +1 -1
  9. iqm_pulla-9.1.0/requirements/qiskit.txt +5 -0
  10. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/cpc/compiler/compiler.py +15 -17
  11. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/pulla/utils.py +1 -1
  12. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/pulla/utils_qir.py +37 -8
  13. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm_pulla.egg-info/PKG-INFO +6 -6
  14. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm_pulla.egg-info/requires.txt +5 -5
  15. iqm_pulla-9.1.0/version.txt +1 -0
  16. iqm_pulla-8.3.0/requirements/qiskit.txt +0 -5
  17. iqm_pulla-8.3.0/version.txt +0 -1
  18. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/AUTHORS.rst +0 -0
  19. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/LICENSE.txt +0 -0
  20. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/MANIFEST.in +0 -0
  21. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/README.rst +0 -0
  22. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/API.rst +0 -0
  23. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/Compilation Stages.ipynb +0 -0
  24. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/Configuration and Usage.ipynb +0 -0
  25. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/Example - Compilation With Local Calibration Set.ipynb +0 -0
  26. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/Example - Randomized Benchmarking.ipynb +0 -0
  27. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/Example - Simple Dynamical Decoupling.ipynb +0 -0
  28. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/Quick Start.ipynb +0 -0
  29. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/_static/images/favicon.ico +0 -0
  30. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/_static/images/logo.png +0 -0
  31. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/_templates/autosummary-class-template.rst +0 -0
  32. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/_templates/autosummary-module-template.rst +0 -0
  33. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/authors.rst +0 -0
  34. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/changelog.rst +0 -0
  35. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/common_errors.rst +0 -0
  36. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/conf.py +0 -0
  37. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/examples.rst +0 -0
  38. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/index.rst +0 -0
  39. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/license.rst +0 -0
  40. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/migration_guide.rst +0 -0
  41. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/readme.rst +0 -0
  42. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/references.bib +0 -0
  43. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/references.rst +0 -0
  44. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/docs/user_guides.rst +0 -0
  45. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/pyproject.toml +0 -0
  46. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/requirements/base.in +0 -0
  47. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/requirements/notebook.in +0 -0
  48. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/requirements/qir.in +0 -0
  49. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/requirements/qiskit.in +0 -0
  50. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/setup.cfg +0 -0
  51. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/setup.py +0 -0
  52. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/cpc/__init__.py +0 -0
  53. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/cpc/compiler/__init__.py +0 -0
  54. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/cpc/compiler/circuit_compilation_request_handler.py +0 -0
  55. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/cpc/compiler/dd.py +0 -0
  56. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/cpc/compiler/errors.py +0 -0
  57. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/cpc/compiler/standard_stages.py +0 -0
  58. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/cpc/compiler/station_settings.py +0 -0
  59. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/cpc/interface/__init__.py +0 -0
  60. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/cpc/interface/compiler.py +0 -0
  61. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/cpc/py.typed +0 -0
  62. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/pulla/__init__.py +0 -0
  63. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/pulla/calibration.py +0 -0
  64. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/pulla/interface.py +0 -0
  65. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/pulla/pulla.py +0 -0
  66. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/pulla/py.typed +0 -0
  67. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/pulla/quantum_architecture.py +0 -0
  68. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/pulla/utils_cirq.py +0 -0
  69. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/pulla/utils_dd.py +0 -0
  70. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm/pulla/utils_qiskit.py +0 -0
  71. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm_pulla.egg-info/SOURCES.txt +0 -0
  72. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm_pulla.egg-info/dependency_links.txt +0 -0
  73. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/src/iqm_pulla.egg-info/top_level.txt +0 -0
  74. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/tests/.pylintrc +0 -0
  75. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/tests/__init__.py +0 -0
  76. {iqm_pulla-8.3.0 → iqm_pulla-9.1.0}/tests/conftest.py +0 -0
@@ -2,6 +2,22 @@
2
2
  Changelog
3
3
  =========
4
4
 
5
+ Version 9.1.0 (2025-07-30)
6
+ ==========================
7
+
8
+ Features
9
+ --------
10
+
11
+ - Require compiler instead of Pulla in qir_to_pulla
12
+
13
+ Version 9.0.0 (2025-07-16)
14
+ ==========================
15
+
16
+ Breaking changes
17
+ ----------------
18
+
19
+ - :meth:`Compiler.add_implementation` signature has slightly changed.
20
+
5
21
  Version 8.3.0 (2025-07-09)
6
22
  ==========================
7
23
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-pulla
3
- Version: 8.3.0
3
+ Version: 9.1.0
4
4
  Summary: Client library for pulse-level access to an IQM quantum computer
5
5
  Author-email: IQM Finland Oy <developers@meetiqm.com>
6
6
  License: Apache License
@@ -218,29 +218,29 @@ License-File: LICENSE.txt
218
218
  License-File: AUTHORS.rst
219
219
  Requires-Dist: iqm-exa-common<27,>=26
220
220
  Requires-Dist: iqm-station-control-client<10,>=9
221
- Requires-Dist: iqm-pulse<10,>=9
221
+ Requires-Dist: iqm-pulse<11,>=10
222
222
  Requires-Dist: iqm-data-definitions<3.0,>=2.13
223
223
  Requires-Dist: pylatexenc==2.10
224
224
  Requires-Dist: pydantic<3.0,>=2.10.4
225
225
  Provides-Extra: notebook
226
226
  Requires-Dist: iqm-exa-common<27,>=26; extra == "notebook"
227
227
  Requires-Dist: iqm-station-control-client<10,>=9; extra == "notebook"
228
- Requires-Dist: iqm-pulse<10,>=9; extra == "notebook"
228
+ Requires-Dist: iqm-pulse<11,>=10; extra == "notebook"
229
229
  Requires-Dist: notebook<7,>=6.4.11; extra == "notebook"
230
230
  Requires-Dist: matplotlib<4,>=3.6.3; extra == "notebook"
231
231
  Requires-Dist: nbclient~=0.5.10; extra == "notebook"
232
232
  Provides-Extra: qir
233
233
  Requires-Dist: iqm-exa-common<27,>=26; extra == "qir"
234
234
  Requires-Dist: iqm-station-control-client<10,>=9; extra == "qir"
235
- Requires-Dist: iqm-pulse<10,>=9; extra == "qir"
235
+ Requires-Dist: iqm-pulse<11,>=10; extra == "qir"
236
236
  Requires-Dist: iqm-pyqir==0.12.0; extra == "qir"
237
237
  Requires-Dist: iqm-qiskit-qir==0.8.0; extra == "qir"
238
238
  Provides-Extra: qiskit
239
239
  Requires-Dist: iqm-exa-common<27,>=26; extra == "qiskit"
240
240
  Requires-Dist: iqm-station-control-client<10,>=9; extra == "qiskit"
241
- Requires-Dist: iqm-pulse<10,>=9; extra == "qiskit"
242
- Requires-Dist: iqm-client[qiskit]<30,>=29; extra == "qiskit"
241
+ Requires-Dist: iqm-pulse<11,>=10; extra == "qiskit"
243
242
  Requires-Dist: iqm-client<30,>=29; extra == "qiskit"
243
+ Requires-Dist: iqm-client[qiskit]<30,>=29; extra == "qiskit"
244
244
 
245
245
  IQM Pulla
246
246
  #########
@@ -553,11 +553,12 @@
553
553
  "outputs": [],
554
554
  "source": [
555
555
  "from iqm.pulse.gate_implementation import CompositeGate\n",
556
+ "from iqm.pulse.quantum_ops import QuantumOp\n",
556
557
  "import numpy as np\n",
557
558
  "\n",
558
559
  "\n",
559
560
  "class StretchedX(CompositeGate):\n",
560
- " registered_gates = ['prx'] # use the standard prx as a building block\n",
561
+ " registered_gates = ('prx',) # use the standard prx as a building block\n",
561
562
  "\n",
562
563
  " def __call__(self, angle_t: float, phase_t: float):\n",
563
564
  " normal_prx = self.build(\"prx\", self.locus)\n",
@@ -588,7 +589,7 @@
588
589
  "outputs": [],
589
590
  "source": [
590
591
  "circuits, compiler = qiskit_to_pulla(p, backend, example_qiskit_circuit())\n",
591
- "compiler.add_implementation('custom_x', 'StretchedX', StretchedX, quantum_op_specs={'params': ('angle_t', 'phase_t')})\n",
592
+ "compiler.add_implementation('custom_x', 'StretchedX', StretchedX, quantum_op=QuantumOp('custom_x', params=('angle_t', 'phase_t')))\n",
592
593
  "\n",
593
594
  "c = circuits[0]\n",
594
595
  "for inst in c.instructions:\n",
@@ -1258,7 +1259,7 @@
1258
1259
  ],
1259
1260
  "metadata": {
1260
1261
  "kernelspec": {
1261
- "display_name": ".venv",
1262
+ "display_name": "Python 3 (ipykernel)",
1262
1263
  "language": "python",
1263
1264
  "name": "python3"
1264
1265
  },
@@ -21,7 +21,7 @@
21
21
  "from iqm.qiskit_iqm import IQMProvider\n",
22
22
  "from iqm.pulla.pulla import Pulla\n",
23
23
  "from iqm.pulla.utils_qiskit import station_control_result_to_qiskit\n",
24
- "from iqm.pulla.utils_qir import qir_to_pulla\n",
24
+ "from iqm.pulla.utils_qir import qir_to_pulla, generate_qiskit_qir_qubit_mapping\n",
25
25
  "from qiskit_qir import to_qir_module"
26
26
  ]
27
27
  },
@@ -158,21 +158,7 @@
158
158
  "outputs": [],
159
159
  "source": [
160
160
  "# qiskit-qir has a bug, which causes qubit pointers to not be generated correctly\n",
161
- "# according to the final_layout. So we replicate this logic here and generate a new mapping.\n",
162
- "# Then we assign qiskit-qir index to the qiskit logic qubit idx.\n",
163
- "\n",
164
- "# For simplicity, reverse the mapping\n",
165
- "layout_reverse_mapping = {bit: idx for idx, bit in qc_transpiled.layout.final_layout.get_physical_bits().items()}\n",
166
- "qiskit_qir_mapping = {}\n",
167
- "# Replicate qiskit-qir logic for defining qubit pointer indices\n",
168
- "for register in qc_transpiled.qregs:\n",
169
- " qiskit_qir_mapping.update(\n",
170
- " {layout_reverse_mapping[bit]: n + len(qiskit_qir_mapping) for n, bit in enumerate(register)}\n",
171
- ")\n",
172
- "\n",
173
- "# In the generated QIR qubit pointers will use qiskit-qir qubit labels,\n",
174
- "# but we already know how to map them to IQM physical qubits, through qiskit logical qubit indices.\n",
175
- "qubits_mapping = {qiskit_qir_mapping[i]: backend.index_to_qubit_name(i) for i in range(qc_transpiled.num_qubits)}"
161
+ "qubits_mapping = generate_qiskit_qir_qubit_mapping(qc_transpiled, backend)"
176
162
  ]
177
163
  },
178
164
  {
@@ -221,7 +207,7 @@
221
207
  "p = Pulla(station_control_url)\n",
222
208
  "# Pass qubit mapping to qir_to_pulla coverter to correctly interpret opaque qubit pointer indices in QIR\n",
223
209
  "# and convert them to physical IQM qubit names.\n",
224
- "circuits, compiler = qir_to_pulla(p, qir, qubits_mapping)\n",
210
+ "circuits, compiler = qir_to_pulla(p.get_standard_compiler(), qir, qubits_mapping)\n",
225
211
  "\n",
226
212
  "playlist, context = compiler.compile(circuits)\n",
227
213
  "\n",
@@ -9,9 +9,9 @@
9
9
  "\n",
10
10
  "T1 is an experiment that measures the relaxation time of a qubit.\n",
11
11
  "\n",
12
- "Information stored in a qubit decays exponentially. The time constant of the decay is called the relaxation time $T_1$.\n",
12
+ "Information stored in a qubit decays exponentially. The time constant of the longitudinal decay is called the relaxation time $T_1$.\n",
13
13
  "\n",
14
- "The experiment measures $T_1$ by preparing selected qubits in the excited state by playing an X gate,\n",
14
+ "The experiment measures $T_1$ by preparing selected qubits in the excited state by applying an X gate,\n",
15
15
  "waiting some time, and measuring the qubit.\n",
16
16
  "\n",
17
17
  "The waiting time is swept to reveal the exponential decay of the excited state probability."
@@ -43,7 +43,7 @@
43
43
  "station_control_url = os.environ['PULLA_STATION_CONTROL_URL'] # or set the URL directly here\n",
44
44
  "\n",
45
45
  "p = Pulla(station_control_url)\n",
46
- "compiler = p.get_standard_compiler()\n"
46
+ "compiler = p.get_standard_compiler()"
47
47
  ]
48
48
  },
49
49
  {
@@ -54,63 +54,6 @@
54
54
  "## Preparing the circuit"
55
55
  ]
56
56
  },
57
- {
58
- "cell_type": "markdown",
59
- "id": "002a06a2",
60
- "metadata": {},
61
- "source": [
62
- "High-level QuantumOperations like Quantum gates can be implemented using different GateImplementations.\n",
63
- "To control low-level aspects of the execution, we can create custom operations, the implementation of which we can control.\n",
64
- "\n",
65
- "Here we invent a custom operation `\"custom\"` and write an implementation `\"Wait\"`, which only inserts a delay of certain duration.\n",
66
- "In principle, the custom gate implementation could include any number of low-level instructions,\n",
67
- "but for this task we only need a wait.\n",
68
- "https://iqm-finland.github.io/docs/iqm-pulse/using_builder.html for more details about lower level controls.\n",
69
- "\n",
70
- "In later cells, we mix the custom gate with other, more familiar gates."
71
- ]
72
- },
73
- {
74
- "cell_type": "code",
75
- "execution_count": 3,
76
- "id": "a11c006b",
77
- "metadata": {},
78
- "outputs": [],
79
- "source": [
80
- "from iqm.pulse.gate_implementation import CompositeGate\n",
81
- "\n",
82
- "class Wait(CompositeGate):\n",
83
- " # GateImplementation for our custom operation. Only adds a delay to a qubit, and nothing else.\n",
84
- "\n",
85
- " def _call(self, wait_time: float):\n",
86
- " # This will be called when \"custom\" is encountered during circuit compilation.\n",
87
- " return self.builder.wait(self.locus, wait_time, rounding=True)"
88
- ]
89
- },
90
- {
91
- "cell_type": "markdown",
92
- "id": "0da82b34",
93
- "metadata": {},
94
- "source": [
95
- "We must register the operation, so that the compiler knows what to do with it:"
96
- ]
97
- },
98
- {
99
- "cell_type": "code",
100
- "execution_count": 4,
101
- "id": "4e38c545",
102
- "metadata": {},
103
- "outputs": [],
104
- "source": [
105
- "compiler.add_implementation(\n",
106
- " op_name='custom',\n",
107
- " implementation=Wait,\n",
108
- " impl_name='Wait',\n",
109
- " quantum_op_specs={'params': ('wait_time', )}, # Wait has this parameter\n",
110
- " overwrite=True\n",
111
- ")"
112
- ]
113
- },
114
57
  {
115
58
  "cell_type": "markdown",
116
59
  "id": "910263eb",
@@ -121,7 +64,7 @@
121
64
  },
122
65
  {
123
66
  "cell_type": "code",
124
- "execution_count": 5,
67
+ "execution_count": 3,
125
68
  "id": "fe69394d",
126
69
  "metadata": {},
127
70
  "outputs": [
@@ -131,7 +74,7 @@
131
74
  "('QB1', 'QB2', 'QB3', 'QB4', 'QB5')"
132
75
  ]
133
76
  },
134
- "execution_count": 5,
77
+ "execution_count": 3,
135
78
  "metadata": {},
136
79
  "output_type": "execute_result"
137
80
  }
@@ -151,7 +94,7 @@
151
94
  },
152
95
  {
153
96
  "cell_type": "code",
154
- "execution_count": 6,
97
+ "execution_count": 4,
155
98
  "id": "80c336ce",
156
99
  "metadata": {},
157
100
  "outputs": [],
@@ -164,23 +107,23 @@
164
107
  "id": "015b70d7",
165
108
  "metadata": {},
166
109
  "source": [
167
- "Now we create all the circuits. In each circuit, we do a PRX(pi), or X, then our custom operation that waits, then measure all qubits.\n",
110
+ "Now we create all the circuits. In each circuit, we do a PRX(pi), or X, then a delay operation, then measure all qubits.\n",
168
111
  "We create a circuit for each delay time we want on the time axis."
169
112
  ]
170
113
  },
171
114
  {
172
115
  "cell_type": "code",
173
- "execution_count": 7,
116
+ "execution_count": 5,
174
117
  "id": "1e3d653e",
175
118
  "metadata": {},
176
119
  "outputs": [
177
120
  {
178
121
  "data": {
179
122
  "text/plain": [
180
- "Circuit(name='T1', instructions=[CircuitOperation(name='prx', locus=('QB1',), args={'angle': 3.141592653589793, 'phase': 0.0}, implementation=None), CircuitOperation(name='custom', locus=('QB1',), args={'wait_time': 0.0003}, implementation=None), CircuitOperation(name='prx', locus=('QB2',), args={'angle': 3.141592653589793, 'phase': 0.0}, implementation=None), CircuitOperation(name='custom', locus=('QB2',), args={'wait_time': 0.0003}, implementation=None), CircuitOperation(name='measure', locus=('QB1', 'QB2'), args={'key': 'M'}, implementation=None)])"
123
+ "Circuit(name='T1', instructions=[CircuitOperation(name='prx', locus=('QB1',), args={'angle': 3.141592653589793, 'phase': 0.0}, implementation=None), CircuitOperation(name='delay', locus=('QB1',), args={'duration': 0.0003}, implementation=None), CircuitOperation(name='prx', locus=('QB2',), args={'angle': 3.141592653589793, 'phase': 0.0}, implementation=None), CircuitOperation(name='delay', locus=('QB2',), args={'duration': 0.0003}, implementation=None), CircuitOperation(name='measure', locus=('QB1', 'QB2'), args={'key': 'M'}, implementation=None)])"
181
124
  ]
182
125
  },
183
- "execution_count": 7,
126
+ "execution_count": 5,
184
127
  "metadata": {},
185
128
  "output_type": "execute_result"
186
129
  }
@@ -197,7 +140,7 @@
197
140
  " for qubit in qubits:\n",
198
141
  " instructions += [\n",
199
142
  " Op(\"prx\", (qubit,), args={\"angle\": np.pi, \"phase\": 0.0}),\n",
200
- " Op(\"custom\", (qubit,), args={\"wait_time\": wait_time}),\n",
143
+ " Op(\"delay\", (qubit,), args={\"duration\": wait_time}),\n",
201
144
  " ] \n",
202
145
  " instructions.append(Op(\"measure\", qubits, args={\"key\": \"M\"}))\n",
203
146
  " circuits.append(Circuit(\"T1\", instructions))\n",
@@ -216,7 +159,7 @@
216
159
  },
217
160
  {
218
161
  "cell_type": "code",
219
- "execution_count": 8,
162
+ "execution_count": 6,
220
163
  "id": "38d92284",
221
164
  "metadata": {},
222
165
  "outputs": [],
@@ -230,7 +173,7 @@
230
173
  },
231
174
  {
232
175
  "cell_type": "code",
233
- "execution_count": 9,
176
+ "execution_count": 7,
234
177
  "id": "f7619fa8",
235
178
  "metadata": {
236
179
  "scrolled": true
@@ -262,7 +205,7 @@
262
205
  },
263
206
  {
264
207
  "cell_type": "code",
265
- "execution_count": 10,
208
+ "execution_count": 8,
266
209
  "id": "ac6767dd",
267
210
  "metadata": {},
268
211
  "outputs": [
@@ -319,7 +262,7 @@
319
262
  },
320
263
  {
321
264
  "cell_type": "code",
322
- "execution_count": 11,
265
+ "execution_count": 9,
323
266
  "id": "b40d24c4",
324
267
  "metadata": {
325
268
  "ExecuteTime": {
@@ -328,6 +271,14 @@
328
271
  }
329
272
  },
330
273
  "outputs": [
274
+ {
275
+ "name": "stderr",
276
+ "output_type": "stream",
277
+ "text": [
278
+ "/home/ville/miniconda3/envs/exa-repo/lib/python3.11/site-packages/IPython/core/display.py:431: UserWarning: Consider using IPython.display.IFrame instead\n",
279
+ " warnings.warn(\"Consider using IPython.display.IFrame instead\")\n"
280
+ ]
281
+ },
331
282
  {
332
283
  "data": {
333
284
  "text/html": [
@@ -504,8 +455,8 @@
504
455
  " var fullscreen_state = false;\n",
505
456
  "\n",
506
457
  " // The schedules to render\n",
507
- " var schedules = [{&#x27;QB2__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17297349752542152, &#x27;scale_q&#x27;: -0.012948936553169015, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 1772.0}}]}, &#x27;QB1__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17579006023227542, &#x27;scale_q&#x27;: -0.009816275179655247, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 1772.0}}]}, &#x27;PL_RO-1__readout&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;ReadoutTrigger&#x27;, &#x27;params&#x27;: {&#x27;probe_pulse&#x27;: &#x27;MultiplexedIQPulse&#x27;, &#x27;entries&#x27;: [&#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: -0.5538454018111629,\\n &quot;modulation_frequency&quot;: -0.1159,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 2.5674304600321958,\\n &quot;modulation_frequency&quot;: -0.21126666666666652,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.08,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 0.47925785443508406,\\n &quot;modulation_frequency&quot;: 0.1328333333333335,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.09,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: -2.906786200104011,\\n &quot;modulation_frequency&quot;: -0.0232,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;], &#x27;duration&#x27;: 1772.0}}]}}, {&#x27;QB2__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17297349752542152, &#x27;scale_q&#x27;: -0.012948936553169015, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 7772.0}}]}, &#x27;QB1__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17579006023227542, &#x27;scale_q&#x27;: -0.009816275179655247, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 7772.0}}]}, &#x27;PL_RO-1__readout&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 6040.0}}, {&#x27;name&#x27;: &#x27;ReadoutTrigger&#x27;, &#x27;params&#x27;: {&#x27;probe_pulse&#x27;: &#x27;MultiplexedIQPulse&#x27;, &#x27;entries&#x27;: [&#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: -0.5538454018111629,\\n &quot;modulation_frequency&quot;: -0.1159,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 2.5674304600321958,\\n &quot;modulation_frequency&quot;: -0.21126666666666652,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.08,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 0.47925785443508406,\\n &quot;modulation_frequency&quot;: 0.1328333333333335,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.09,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: -2.906786200104011,\\n &quot;modulation_frequency&quot;: -0.0232,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;], &#x27;duration&#x27;: 1772.0}}]}}, {&#x27;QB2__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17297349752542152, &#x27;scale_q&#x27;: -0.012948936553169015, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 13772.0}}]}, &#x27;QB1__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17579006023227542, &#x27;scale_q&#x27;: -0.009816275179655247, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 13772.0}}]}, &#x27;PL_RO-1__readout&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 12040.0}}, {&#x27;name&#x27;: &#x27;ReadoutTrigger&#x27;, &#x27;params&#x27;: {&#x27;probe_pulse&#x27;: &#x27;MultiplexedIQPulse&#x27;, &#x27;entries&#x27;: [&#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: -0.5538454018111629,\\n &quot;modulation_frequency&quot;: -0.1159,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 2.5674304600321958,\\n &quot;modulation_frequency&quot;: -0.21126666666666652,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.08,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 0.47925785443508406,\\n &quot;modulation_frequency&quot;: 0.1328333333333335,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.09,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: -2.906786200104011,\\n &quot;modulation_frequency&quot;: -0.0232,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;], &#x27;duration&#x27;: 1772.0}}]}}, {&#x27;QB2__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17297349752542152, &#x27;scale_q&#x27;: -0.012948936553169015, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 19772.0}}]}, &#x27;QB1__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17579006023227542, &#x27;scale_q&#x27;: -0.009816275179655247, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 19772.0}}]}, &#x27;PL_RO-1__readout&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 18040.0}}, {&#x27;name&#x27;: &#x27;ReadoutTrigger&#x27;, &#x27;params&#x27;: {&#x27;probe_pulse&#x27;: &#x27;MultiplexedIQPulse&#x27;, &#x27;entries&#x27;: [&#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: -0.5538454018111629,\\n &quot;modulation_frequency&quot;: -0.1159,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 2.5674304600321958,\\n &quot;modulation_frequency&quot;: -0.21126666666666652,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.08,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 0.47925785443508406,\\n &quot;modulation_frequency&quot;: 0.1328333333333335,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.09,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: -2.906786200104011,\\n &quot;modulation_frequency&quot;: -0.0232,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;], &#x27;duration&#x27;: 1772.0}}]}}, {&#x27;QB2__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17297349752542152, &#x27;scale_q&#x27;: -0.012948936553169015, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 25772.0}}]}, &#x27;QB1__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17579006023227542, &#x27;scale_q&#x27;: -0.009816275179655247, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 25772.0}}]}, &#x27;PL_RO-1__readout&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 24040.0}}, {&#x27;name&#x27;: &#x27;ReadoutTrigger&#x27;, &#x27;params&#x27;: {&#x27;probe_pulse&#x27;: &#x27;MultiplexedIQPulse&#x27;, &#x27;entries&#x27;: [&#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: -0.5538454018111629,\\n &quot;modulation_frequency&quot;: -0.1159,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 2.5674304600321958,\\n &quot;modulation_frequency&quot;: -0.21126666666666652,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.08,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 0.47925785443508406,\\n &quot;modulation_frequency&quot;: 0.1328333333333335,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.09,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: -2.906786200104011,\\n &quot;modulation_frequency&quot;: -0.0232,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;], &#x27;duration&#x27;: 1772.0}}]}}]\n",
508
- " var waveforms = {&#x27;QB2__drive.awg&#x27;: {&#x27;1&#x27;: &#x27;&lt;img class=&quot;waveform-image&quot; src=&quot;data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAjgAAAGiCAYAAADqYLxOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9TElEQVR4nO3de1xVVcL/8e8B5KAZoCIcMPBaXvIaBqKVNfII6ZQ2TqMzFmqmT6aVYXlpRs2cQqtfY5blZN56qtFs1NQmy8FLU15DSS2lNO9yURk4ooYK+/cHefRwQA7K4bL7vF+v/SrWWXudtdx69pe1197HYhiGIQAAABPxquoOAAAAVDQCDgAAMB0CDgAAMB0CDgAAMB0CDgAAMB0CDgAAMB0CDgAAMB0CDgAAMB0CDgAAMB0CDgAAMB2PBpwvv/xS9913n8LCwmSxWLR8+fIy91m/fr1uu+02Wa1WtWjRQgsWLHCpM2vWLDVp0kR+fn6Kjo7W1q1bK77zAACgxvJowDlz5ow6dOigWbNmuVX/wIED6t27t+655x6lpqZq9OjRevTRR/X555876ixevFiJiYmaPHmytm/frg4dOiguLk5ZWVmeGgYAAKhhLJX1ZZsWi0XLli1T3759S60zbtw4ffrpp9q9e7ejbMCAAcrJydHq1aslSdHR0br99tv15ptvSpIKCwsVHh6uJ554QuPHj/foGAAAQM3gU9UduNKmTZsUGxvrVBYXF6fRo0dLks6fP6+UlBRNmDDB8bqXl5diY2O1adOmUtvNz89Xfn6+4+fCwkJlZ2erQYMGslgsFTsIAADgEYZh6PTp0woLC5OX19UvQlWrgJORkaGQkBCnspCQENntdp07d07//e9/VVBQUGKdvXv3ltpuUlKSpkyZ4pE+AwCAynXkyBHddNNNV61TrQKOp0yYMEGJiYmOn3NzcxUREaEjR47I39+/CnsGAADcZbfbFR4erhtvvLHMutUq4NhsNmVmZjqVZWZmyt/fX7Vr15a3t7e8vb1LrGOz2Upt12q1ymq1upT7+/sTcAAAqGHcWV5SrZ6DExMTo+TkZKeyNWvWKCYmRpLk6+uryMhIpzqFhYVKTk521AEAAPBowMnLy1NqaqpSU1MlFd0GnpqaqsOHD0squnSUkJDgqP/YY4/pp59+0tixY7V371699dZb+uijj/T000876iQmJmrOnDlauHCh9uzZoxEjRujMmTMaMmSIJ4cCAABqEI9eovrmm290zz33OH6+tA5m0KBBWrBggdLT0x1hR5KaNm2qTz/9VE8//bRef/113XTTTXr33XcVFxfnqNO/f3+dOHFCkyZNUkZGhjp27KjVq1e7LDwGAAC/XpX2HJzqxG63KyAgQLm5uazBAQCghijP+btarcEBAACoCAQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOgQcAABgOpUScGbNmqUmTZrIz89P0dHR2rp1a6l17777blksFpetd+/ejjqDBw92eT0+Pr4yhgIAAGoAH0+/weLFi5WYmKjZs2crOjpaM2bMUFxcnNLS0hQcHOxSf+nSpTp//rzj51OnTqlDhw568MEHnerFx8dr/vz5jp+tVqvnBgEAAGoUj8/gvPbaaxo2bJiGDBmiNm3aaPbs2apTp47mzZtXYv369evLZrM5tjVr1qhOnTouAcdqtTrVq1evnqeHAgAAagiPBpzz588rJSVFsbGxl9/Qy0uxsbHatGmTW23MnTtXAwYM0A033OBUvn79egUHB6tly5YaMWKETp06VWob+fn5stvtThsAADAvjwackydPqqCgQCEhIU7lISEhysjIKHP/rVu3avfu3Xr00UedyuPj4/Xee+8pOTlZ06dP14YNG3TvvfeqoKCgxHaSkpIUEBDg2MLDw699UAAAoNrz+Bqc6zF37ly1a9dOUVFRTuUDBgxw/H+7du3Uvn17NW/eXOvXr1ePHj1c2pkwYYISExMdP9vtdkIOAAAm5tEZnKCgIHl7eyszM9OpPDMzUzab7ar7njlzRosWLdLQoUPLfJ9mzZopKChI+/btK/F1q9Uqf39/pw0AAJiXRwOOr6+vIiMjlZyc7CgrLCxUcnKyYmJirrrvkiVLlJ+fr4ceeqjM9zl69KhOnTql0NDQ6+4zAACo+Tx+F1ViYqLmzJmjhQsX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lZ6e7lT2zjvv6JVXXtG9997rVD5//nzFx8c7fg4MDKzw/gMAgJrJYwFnz549Wr16tbZt26bOnTtLkt544w316tVLr776qsLCwlz28fb2ls1mcypbtmyZ/vCHP6hu3bpO5YGBgS51AQAAJA9eotq0aZMCAwMd4UaSYmNj5eXlpS1btrjVRkpKilJTUzV06FCX10aOHKmgoCBFRUVp3rx5Mgyj1Hby8/Nlt9udNgAAYF4em8HJyMhQcHCw85v5+Kh+/frKyMhwq425c+eqdevW6tq1q1P5Cy+8oN/85jeqU6eOvvjiCz3++OPKy8vTk08+WWI7SUlJmjJlyrUNBAAA1DjlnsEZP358qQuBL2179+697o6dO3dOH374YYmzNxMnTlS3bt3UqVMnjRs3TmPHjtUrr7xSalsTJkxQbm6uYzty5Mh19w8AAFRf5Z7BGTNmjAYPHnzVOs2aNZPNZlNWVpZT+cWLF5Wdne3W2pmPP/5YZ8+eVUJCQpl1o6OjNXXqVOXn58tqtbq8brVaSywHAADmVO6A07BhQzVs2LDMejExMcrJyVFKSooiIyMlSWvXrlVhYaGio6PL3H/u3Lm6//773Xqv1NRU1atXjxADAAAkeXANTuvWrRUfH69hw4Zp9uzZunDhgkaNGqUBAwY47qA6duyYevTooffee09RUVGOffft26cvv/xS//rXv1zaXblypTIzM9WlSxf5+flpzZo1eumll/TMM894aigAAKCG8ehzcD744AONGjVKPXr0kJeXl/r166eZM2c6Xr9w4YLS0tJ09uxZp/3mzZunm266ST179nRps1atWpo1a5aefvppGYahFi1a6LXXXtOwYcM8ORQAAFCDWIyr3V9tUna7XQEBAcrNzZW/v39VdwcAALihPOdvvosKAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYjscCzosvvqiuXbuqTp06CgwMdGsfwzA0adIkhYaGqnbt2oqNjdWPP/7oVCc7O1sDBw6Uv7+/AgMDNXToUOXl5XlgBAAAoKbyWMA5f/68HnzwQY0YMcLtfV5++WXNnDlTs2fP1pYtW3TDDTcoLi5OP//8s6POwIED9d1332nNmjVatWqVvvzySw0fPtwTQwAAADWUxTAMw5NvsGDBAo0ePVo5OTlXrWcYhsLCwjRmzBg988wzkqTc3FyFhIRowYIFGjBggPbs2aM2bdpo27Zt6ty5syRp9erV6tWrl44ePaqwsLAS287Pz1d+fr7j59zcXEVEROjIkSPy9/evmIECAACPstvtCg8PV05OjgICAq5e2fCw+fPnGwEBAWXW279/vyHJ2LFjh1P5XXfdZTz55JOGYRjG3LlzjcDAQKfXL1y4YHh7extLly4tte3JkycbktjY2NjY2NhMsB05cqTMXOGjaiIjI0OSFBIS4lQeEhLieC0jI0PBwcFOr/v4+Kh+/fqOOiWZMGGCEhMTHT8XFhYqOztbDRo0kMViqaghSLqcLs08O8QYzYExmgNjNAfG6B7DMHT69OlSr9hcqVwBZ/z48Zo+ffpV6+zZs0etWrUqT7MeZ7VaZbVancrcXfh8rfz9/U37l/QSxmgOjNEcGKM5MMaylXlp6hflCjhjxozR4MGDr1qnWbNm5WnSwWazSZIyMzMVGhrqKM/MzFTHjh0ddbKyspz2u3jxorKzsx37AwAAlCvgNGzYUA0bNvRIR5o2bSqbzabk5GRHoLHb7dqyZYvjTqyYmBjl5OQoJSVFkZGRkqS1a9eqsLBQ0dHRHukXAACoeTx2m/jhw4eVmpqqw4cPq6CgQKmpqUpNTXV6Zk2rVq20bNkySZLFYtHo0aP117/+VStWrNCuXbuUkJCgsLAw9e3bV5LUunVrxcfHa9iwYdq6dau+/vprjRo1SgMGDHDrelxlsFqtmjx5ssslMTNhjObAGM2BMZoDY6x4HrtNfPDgwVq4cKFL+bp163T33XcXvbnFovnz5zsuexmGocmTJ+udd95RTk6O7rjjDr311lu65ZZbHPtnZ2dr1KhRWrlypby8vNSvXz/NnDlTdevW9cQwAABADeTx5+AAAABUNr6LCgAAmA4BBwAAmA4BBwAAmA4BBwAAmA4BpwLNmjVLTZo0kZ+fn6Kjo7V169aq7tI1+/LLL3XfffcpLCxMFotFy5cvd3rdMAxNmjRJoaGhql27tmJjY/Xjjz9WTWevUVJSkm6//XbdeOONCg4OVt++fZWWluZU5+eff9bIkSPVoEED1a1bV/369VNmZmYV9bj83n77bbVv397x5NCYmBh99tlnjtdr+vhKMm3aNMdjJy6p6eN8/vnnZbFYnLYrnxhf08d3ybFjx/TQQw+pQYMGql27ttq1a6dvvvnG8boZPneaNGniciwtFotGjhwpqeYfy4KCAk2cOFFNmzZV7dq11bx5c02dOlVX3s9UacexzG+rglsWLVpk+Pr6GvPmzTO+++47Y9iwYUZgYKCRmZlZ1V27Jv/617+MP//5z8bSpUsNScayZcucXp82bZoREBBgLF++3Pj222+N+++/32jatKlx7ty5qunwNYiLizPmz59v7N6920hNTTV69eplREREGHl5eY46jz32mBEeHm4kJycb33zzjdGlSxeja9euVdjr8lmxYoXx6aefGj/88IORlpZmPPfcc0atWrWM3bt3G4ZR88dX3NatW40mTZoY7du3N5566ilHeU0f5+TJk41bb73VSE9Pd2wnTpxwvF7Tx2cYhpGdnW00btzYGDx4sLFlyxbjp59+Mj7//HNj3759jjpm+NzJyspyOo5r1qwxJBnr1q0zDKPmH8sXX3zRaNCggbFq1SrjwIEDxpIlS4y6desar7/+uqNOZR1HAk4FiYqKMkaOHOn4uaCgwAgLCzOSkpKqsFcVo3jAKSwsNGw2m/HKK684ynJycgyr1Wr84x//qIIeVoysrCxDkrFhwwbDMIrGVKtWLWPJkiWOOnv27DEkGZs2baqqbl63evXqGe+++67pxnf69Gnj5ptvNtasWWN0797dEXDMMM7JkycbHTp0KPE1M4zPMAxj3Lhxxh133FHq62b93HnqqaeM5s2bG4WFhaY4lr179zYeeeQRp7Lf/e53xsCBAw3DqNzjyCWqCnD+/HmlpKQoNjbWUebl5aXY2Fht2rSpCnvmGQcOHFBGRobTeAMCAhQdHV2jx5ubmytJql+/viQpJSVFFy5ccBpnq1atFBERUSPHWVBQoEWLFunMmTOKiYkx3fhGjhyp3r17O41HMs9x/PHHHxUWFqZmzZpp4MCBOnz4sCTzjG/FihXq3LmzHnzwQQUHB6tTp06aM2eO43Uzfu6cP39e77//vh555BFZLBZTHMuuXbsqOTlZP/zwgyTp22+/1VdffaV7771XUuUex3J9FxVKdvLkSRUUFCgkJMSpPCQkRHv37q2iXnlORkaGJJU43kuv1TSFhYUaPXq0unXrprZt20oqGqevr6/LN8/XtHHu2rVLMTEx+vnnn1W3bl0tW7ZMbdq0UWpqqinGJ0mLFi3S9u3btW3bNpfXzHAco6OjtWDBArVs2VLp6emaMmWK7rzzTu3evdsU45Okn376SW+//bYSExP13HPPadu2bXryySfl6+urQYMGmfJzZ/ny5crJyXE8zd8Mx3L8+PGy2+1q1aqVvL29VVBQoBdffFEDBw6UVLnnDwIOoKLf/nfv3q2vvvqqqrtS4Vq2bKnU1FTl5ubq448/1qBBg7Rhw4aq7laFOXLkiJ566imtWbNGfn5+Vd0dj7j0268ktW/fXtHR0WrcuLE++ugj1a5duwp7VnEKCwvVuXNnvfTSS5KkTp06affu3Zo9e7YGDRpUxb3zjLlz5+ree++tNt+lWBE++ugjffDBB/rwww916623KjU1VaNHj1ZYWFilH0cuUVWAoKAgeXt7u6x0z8zMlM1mq6Jeec6lMZllvKNGjdKqVau0bt063XTTTY5ym82m8+fPKycnx6l+TRunr6+vWrRoocjISCUlJalDhw56/fXXTTO+lJQUZWVl6bbbbpOPj498fHy0YcMGzZw5Uz4+PgoJCTHFOK8UGBioW265Rfv27TPNcQwNDVWbNm2cylq3bu24FGe2z51Dhw7p3//+tx599FFHmRmO5bPPPqvx48drwIABateunR5++GE9/fTTSkpKklS5x5GAUwF8fX0VGRmp5ORkR1lhYaGSk5MVExNThT3zjKZNm8pmszmN1263a8uWLTVqvIZhaNSoUVq2bJnWrl2rpk2bOr0eGRmpWrVqOY0zLS1Nhw8frlHjLK6wsFD5+fmmGV+PHj20a9cupaamOrbOnTtr4MCBjv83wzivlJeXp/379ys0NNQ0x7Fbt24uj2n44Ycf1LhxY0nm+dy5ZP78+QoODlbv3r0dZWY4lmfPnpWXl3O08Pb2VmFhoaRKPo4VumT5V2zRokWG1Wo1FixYYHz//ffG8OHDjcDAQCMjI6Oqu3ZNTp8+bezYscPYsWOHIcl47bXXjB07dhiHDh0yDKPoNr/AwEDjk08+MXbu3Gn06dOnxt2uOWLECCMgIMBYv369022bZ8+eddR57LHHjIiICGPt2rXGN998Y8TExBgxMTFV2OvyGT9+vLFhwwbjwIEDxs6dO43x48cbFovF+OKLLwzDqPnjK82Vd1EZRs0f55gxY4z169cbBw4cML7++msjNjbWCAoKMrKysgzDqPnjM4yiW/x9fHyMF1980fjxxx+NDz74wKhTp47x/vvvO+qY4XPHMIruso2IiDDGjRvn8lpNP5aDBg0yGjVq5LhNfOnSpUZQUJAxduxYR53KOo4EnAr0xhtvGBEREYavr68RFRVlbN68uaq7dM3WrVtnSHLZBg0aZBhG0a1+EydONEJCQgyr1Wr06NHDSEtLq9pOl1NJ45NkzJ8/31Hn3LlzxuOPP27Uq1fPqFOnjvHAAw8Y6enpVdfpcnrkkUeMxo0bG76+vkbDhg2NHj16OMKNYdT88ZWmeMCp6ePs37+/ERoaavj6+hqNGjUy+vfv7/R8mJo+vktWrlxptG3b1rBarUarVq2Md955x+l1M3zuGIZhfP7554akEvte04+l3W43nnrqKSMiIsLw8/MzmjVrZvz5z3828vPzHXUq6zhaDOOKxwsCAACYAGtwAACA6RBwAACA6RBwAACA6RBwAACA6RBwAACA6RBwAACA6RBwAACA6RBwAACA6RBwAACA6RBwAACA6RBwAACA6fx//VaxfYossy4AAAAASUVORK5CYII= &quot;&gt;&#x27;}, &#x27;QB1__drive.awg&#x27;: {&#x27;1&#x27;: &#x27;&lt;img class=&quot;waveform-image&quot; src=&quot;data:image/png;base64, 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Y8aM0Y4dO7R48WJ7u5eGG0n2x+W1m56erokTJ17LcAAAgAepdMAZO3asJk+efMU6OTk5V92hYcOG2f/cvn17RUREqEePHtq9e7datmx5VW2mpaUpNTXV/thmsykqKuqq+wgAAGq3SgecUaNGafDgwVes06JFC4WHh+vo0aMO5efPn9fJkycVHh7u8vPFx8dLknbt2qWWLVsqPDxcGzdudKiTm5srSeW26+/vL39/f5efEwAAeLZKB5zGjRurcePGFdZLSEhQXl6esrKyFBcXJ0latWqVSkpK7KHFFdnZ2ZKkiIgIe7svvviijh49aj8EtnLlSgUGBiomJqaSowEAAGbktpOM27Ztq+TkZA0dOlQbN27UunXrNGLECA0YMMB+BdWhQ4fUpk0b+4zM7t27NWnSJGVlZWnv3r365JNPlJKSottvv10dOnSQJPXs2VMxMTH629/+ph9++EFffPGFnnvuOT3++OPM0gAAAEluvtHfvHnz1KZNG/Xo0UO9e/dW9+7d9e6779rXFxUVaceOHfarpPz8/PTVV1+pZ8+eatOmjUaNGqX7779fy5Yts2/j7e2t5cuXy9vbWwkJCXrwwQeVkpLicN8cAADw++a2++DUZtwHBwAAz1Mr7oMDAABQUwg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdNwacE6ePKmBAwcqMDBQwcHBevjhh1VQUFBu/b1798pisZS5LFq0yF6vrPULFixw51AAAIAH8XFn4wMHDtSRI0e0cuVKFRUVaciQIRo2bJjmz59fZv2oqCgdOXLEoezdd9/Vq6++ql69ejmUz549W8nJyfbHwcHBVd5/AADgmdwWcHJycrRixQpt2rRJnTp1kiS9+eab6t27t1577TVFRkY6bePt7a3w8HCHsiVLlujPf/6z6tev71AeHBzsVBcAAEBy4yGqzMxMBQcH28ONJCUmJsrLy0sb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 &quot;&gt;&#x27;}, &#x27;PL_RO-1__readout&#x27;: {}}\n",
458
+ " var schedules = [{&#x27;QB1__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17619092823742472, &#x27;scale_q&#x27;: -0.009618626256854052, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 1772.0}}]}, &#x27;QB2__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17332268355789263, &#x27;scale_q&#x27;: -0.013225935744949893, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 1772.0}}]}, &#x27;PL_RO-1__readout&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;ReadoutTrigger&#x27;, &#x27;params&#x27;: {&#x27;probe_pulse&#x27;: &#x27;MultiplexedIQPulse&#x27;, &#x27;entries&#x27;: [&#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: -1.0586866363894636,\\n &quot;modulation_frequency&quot;: -0.1159,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 2.2739596757975797,\\n &quot;modulation_frequency&quot;: -0.21126666666666652,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.08,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 0.1542717727768177,\\n &quot;modulation_frequency&quot;: 0.1328333333333335,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.09,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 2.89767940917349,\\n &quot;modulation_frequency&quot;: -0.0232,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;], &#x27;duration&#x27;: 1772.0}}]}}, {&#x27;QB1__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17619092823742472, &#x27;scale_q&#x27;: -0.009618626256854052, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 7772.0}}]}, &#x27;QB2__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17332268355789263, &#x27;scale_q&#x27;: -0.013225935744949893, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 7772.0}}]}, &#x27;PL_RO-1__readout&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 6040.0}}, {&#x27;name&#x27;: &#x27;ReadoutTrigger&#x27;, &#x27;params&#x27;: {&#x27;probe_pulse&#x27;: &#x27;MultiplexedIQPulse&#x27;, &#x27;entries&#x27;: [&#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: -1.0586866363894636,\\n &quot;modulation_frequency&quot;: -0.1159,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 2.2739596757975797,\\n &quot;modulation_frequency&quot;: -0.21126666666666652,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.08,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 0.1542717727768177,\\n &quot;modulation_frequency&quot;: 0.1328333333333335,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.09,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 2.89767940917349,\\n &quot;modulation_frequency&quot;: -0.0232,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;], &#x27;duration&#x27;: 1772.0}}]}}, {&#x27;QB1__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17619092823742472, &#x27;scale_q&#x27;: -0.009618626256854052, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 13772.0}}]}, &#x27;QB2__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17332268355789263, &#x27;scale_q&#x27;: -0.013225935744949893, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 13772.0}}]}, &#x27;PL_RO-1__readout&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 12040.0}}, {&#x27;name&#x27;: &#x27;ReadoutTrigger&#x27;, &#x27;params&#x27;: {&#x27;probe_pulse&#x27;: &#x27;MultiplexedIQPulse&#x27;, &#x27;entries&#x27;: [&#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: -1.0586866363894636,\\n &quot;modulation_frequency&quot;: -0.1159,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 2.2739596757975797,\\n &quot;modulation_frequency&quot;: -0.21126666666666652,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.08,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 0.1542717727768177,\\n &quot;modulation_frequency&quot;: 0.1328333333333335,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.09,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 2.89767940917349,\\n &quot;modulation_frequency&quot;: -0.0232,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;], &#x27;duration&#x27;: 1772.0}}]}}, {&#x27;QB1__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17619092823742472, &#x27;scale_q&#x27;: -0.009618626256854052, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 19772.0}}]}, &#x27;QB2__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17332268355789263, &#x27;scale_q&#x27;: -0.013225935744949893, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 19772.0}}]}, &#x27;PL_RO-1__readout&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 18040.0}}, {&#x27;name&#x27;: &#x27;ReadoutTrigger&#x27;, &#x27;params&#x27;: {&#x27;probe_pulse&#x27;: &#x27;MultiplexedIQPulse&#x27;, &#x27;entries&#x27;: [&#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: -1.0586866363894636,\\n &quot;modulation_frequency&quot;: -0.1159,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 2.2739596757975797,\\n &quot;modulation_frequency&quot;: -0.21126666666666652,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.08,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 0.1542717727768177,\\n &quot;modulation_frequency&quot;: 0.1328333333333335,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.09,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 2.89767940917349,\\n &quot;modulation_frequency&quot;: -0.0232,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;], &#x27;duration&#x27;: 1772.0}}]}}, {&#x27;QB1__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17619092823742472, &#x27;scale_q&#x27;: -0.009618626256854052, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 25772.0}}]}, &#x27;QB2__drive.awg&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 0.0}}, {&#x27;name&#x27;: &#x27;IQPulse&#x27;, &#x27;wave_img_idx&#x27;: 1, &#x27;params&#x27;: {&#x27;wave_i&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;wave_q&#x27;: {&#x27;n_samples&#x27;: 80, &#x27;full_width&#x27;: 1.4999999999999998, &#x27;center_offset&#x27;: 0.0}, &#x27;scale_i&#x27;: 0.17332268355789263, &#x27;scale_q&#x27;: -0.013225935744949893, &#x27;phase&#x27;: 0.0, &#x27;modulation_frequency&#x27;: 0.0, &#x27;phase_increment&#x27;: 0, &#x27;duration&#x27;: 40.0}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 25772.0}}]}, &#x27;PL_RO-1__readout&#x27;: {&#x27;instructions&#x27;: [{&#x27;name&#x27;: &#x27;Wait at start&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 299000.0, &#x27;truncated_duration&#x27;: 150}}, {&#x27;name&#x27;: &#x27;Wait&#x27;, &#x27;params&#x27;: {&#x27;duration&#x27;: 24040.0}}, {&#x27;name&#x27;: &#x27;ReadoutTrigger&#x27;, &#x27;params&#x27;: {&#x27;probe_pulse&#x27;: &#x27;MultiplexedIQPulse&#x27;, &#x27;entries&#x27;: [&#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: -1.0586866363894636,\\n &quot;modulation_frequency&quot;: -0.1159,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.06,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 2.2739596757975797,\\n &quot;modulation_frequency&quot;: -0.21126666666666652,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.08,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 0.1542717727768177,\\n &quot;modulation_frequency&quot;: 0.1328333333333335,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;, &#x27;{\\n &quot;name&quot;: &quot;IQPulse&quot;,\\n &quot;wave_i&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;wave_q&quot;: {\\n &quot;n_samples&quot;: 2400\\n },\\n &quot;scale_i&quot;: 0.09,\\n &quot;scale_q&quot;: 0.0,\\n &quot;phase&quot;: 2.89767940917349,\\n &quot;modulation_frequency&quot;: -0.0232,\\n &quot;phase_increment&quot;: 0.0\\n}&#x27;], &#x27;duration&#x27;: 1772.0}}]}}]\n",
459
+ " var waveforms = {&#x27;QB1__drive.awg&#x27;: {&#x27;1&#x27;: &#x27;&lt;img class=&quot;waveform-image&quot; src=&quot;data:image/png;base64, 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3Klhw4bp1KlTGjRokCSpf//+SkpKKrHdtGnTdM8996h+/foO5bm5uXr22Wf1/fff69dff1VKSop69+6tFi1aKC4uztXDAQAAbsDl1+D06dNHx48f17hx45SRkaH27dtr6dKl9guPDx48KA8Px5y1e/duffvtt1q+fHmJ9jw9PbVt2zbNmjVL2dnZCgsLU/fu3TVx4kSehQMAACRJhmmaZnV3oqrZbDYFBAQoJyeH63EAAHATFTl+811UAADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcqok4EyZMkVNmzaVr6+voqOjtXHjxjLrzpw5U4ZhOCy+vr4OdUzT1Lhx4xQaGqratWsrNjZWe/bscfUwAACAm3B5wJk7d64SEhI0fvx4bdmyRe3atVNcXJyOHTtW5jb+/v5KT0+3LwcOHHBY/9prr2ny5MmaOnWqNmzYoDp16iguLk5nz5519XAAAIAbcHnAefPNNzVkyBANGjRIkZGRmjp1qvz8/DR9+vQytzEMQyEhIfYlODjYvs40Tb311lt64YUX1Lt3b7Vt21Yff/yxjh49qoULF7p6OAAAwA24NODk5+crNTVVsbGxF3bo4aHY2FitX7++zO1yc3PVpEkThYeHq3fv3vrxxx/t6/bv36+MjAyHNgMCAhQdHV1mm3l5ebLZbA4LAACwLpcGnBMnTqiwsNBhBkaSgoODlZGRUeo2LVu21PTp0/Xll1/qk08+UVFRkbp06aLDhw9Lkn27irSZnJysgIAA+xIeHn6lQwMAADVYjbuLKiYmRv3791f79u112223af78+WrYsKH+9a9/VbrNpKQk5eTk2JdDhw5dxR4DAICaxqUBp0GDBvL09FRmZqZDeWZmpkJCQpxqo1atWurQoYP27t0rSfbtKtKmj4+P/P39HRYAAGBdLg043t7eioqKUkpKir2sqKhIKSkpiomJcaqNwsJC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TKjcQAAAgNup8AxOYmJimRcCn1927dp1xR07c+aMPv3001Jnb8aOHauuXbuqQ4cOGjNmjEaPHq3XX3+9zLaSkpKUk5NjXw4dOnTF/QMAADVXhWdwRo0apYEDB162TrNmzRQSEqJjx445lJ87d05ZWVlOXTvzxRdf6PTp0+rfv3+5daOjozVx4kTl5eXJx8enxHofH59SywEAgDVVOOA0bNhQDRs2LLdeTEyMsrOzlZqaqqioKEnSypUrVVRUpOjo6HK3nzZtmu6++26n9pWWlqa6desSYgAAgCQXXoPTunVrxcfHa8iQIZo6daoKCgo0YsQI9e3b134H1ZEjR9StWzd9/PHH6tSpk33bvXv3au3atfr6669LtLt48WJlZmaqc+fO8vX11YoVK/TKK6/omWeecdVQAACAm3Hpc3Bmz56tESNGqFu3bvLw8ND999+vyZMn29cXFBRo9+7dOn36tMN206dPV6NGjdS9e/cSbdaqVUtTpkzR008/LdM01aJFC7355psaMmSIK4cCAADciGFe7v5qi7LZbAoICFBOTo78/f2ruzsAAMAJFTl+811UAADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAclwWcF5++WV16dJFfn5+CgwMdGob0zQ1btw4hYaGqnbt2oqNjdWePXsc6mRlZalfv37y9/dXYGCgBg8erNzcXBeMAAAAuCuXBZz8/Hw98MADGjZsmNPbvPbaa5o8ebKmTp2qDRs2qE6dOoqLi9PZs2ftdfr166cff/xRK1as0JIlS7R27VoNHTrUFUMAAABuyjBN03TlDmbOnKmRI0cqOzv7svVM01RYWJhGjRqlZ555RpKUk5Oj4OBgzZw5U3379tXOnTsVGRmpTZs2qWPHjpKkpUuXqmfPnjp8+LDCwsJKbTsvL095eXn2n3NyctS4cWMdOnRI/v7+V2egAADApWw2m8LDw5Wdna2AgIDLVzZdbMaMGWZAQEC59fbt22dKMrdu3epQfuutt5pPPvmkaZqmOW3aNDMwMNBhfUFBgenp6WnOnz+/zLbHjx9vSmJhYWFhYWGxwHLo0KFyc4WXaoiMjAxJUnBwsEN5cHCwfV1GRoaCgoIc1nt5ealevXr2OqVJSkpSQkKC/eeioiJlZWWpfv36Mgzjag1B0oV0aeXZIcZoDYzRGhijNTBG55imqd9//73MMzYXq1DASUxM1KRJky5bZ+fOnWrVqlVFmnU5Hx8f+fj4OJQ5e+FzZfn7+1v2l/Q8xmgNjNEaGKM1MMbylXtq6g8VCjijRo3SwIEDL1unWbNmFWnSLiQkRJKUmZmp0NBQe3lmZqbat29vr3Ps2DGH7c6dO6esrCz79gAAABUKOA0bNlTDhg1d0pGIiAiFhIQoJSXFHmhsNps2bNhgvxMrJiZG2dnZSk1NVVRUlCRp5cqVKioqUnR0tEv6BQAA3I/LbhM/ePCg0tLSdPDgQRUWFiotLU1paWkOz6xp1aqVFixYIEkyDEMjR47UP//5Ty1atEjbt29X//79FRYWpnvuuUeS1Lp1a8XHx2vIkCHauHGjvvvuO40YMUJ9+/Z16nxcVfDx8dH48eNLnBKzEsZoDYzRGhijNTDGq89lt4kPHDhQs2bNKlG+atUq3X777cU7NwzNmDHDftrLNE2NHz9eH3zwgbKzs3XLLbfovffe0w033GDfPisrSyNGjNDixYvl4eGh+++/X5MnT9Y111zjimEAAAA35PLn4AAAAFQ1vosKAABYDgEHAABYDgEHAABYDgEHAABYDgHnKpoyZYqaNm0qX19fRUdHa+PGjdXdpUpbu3at7rrrLoWFhckwDC1cuNBhvWmaGjdunEJDQ1W7dm3FxsZqz5491dPZSkpOTtbNN9+sa6+9VkFBQbrnnnu0e/duhzpnz57V8OHDVb9+fV1zzTW6//77lZmZWU09rrj3339fbdu2tT85NCYmRt988419vbuPrzSvvvqq/bET57n7OF988UUZhuGwXPzEeHcf33lHjhzRQw89pPr166t27dpq06aNNm/ebF9vhfedpk2blngtDcPQ8OHDJbn/a1lYWKixY8cqIiJCtWvXVvPmzTVx4kRdfD9Tlb2O5X5bFZwyZ84c09vb25w+fbr5448/mkOGDDEDAwPNzMzM6u5apXz99dfm888/b86fP9+UZC5YsMBh/auvvmoGBASYCxcuNH/44Qfz7rvvNiMiIswzZ85UT4crIS4uzpwxY4a5Y8cOMy0tzezZs6fZuHFjMzc3117nscceM8PDw82UlBRz8+bNZufOnc0uXbpUY68rZtGiReZXX31l/vzzz+bu3bvN5557zqxVq5a5Y8cO0zTdf3yX2rhxo9m0aVOzbdu25lNPPWUvd/dxjh8/3vzLX/5ipqen25fjx4/b17v7+EzTNLOysswmTZqYAwcONDds2GD+8ssv5rJly8y9e/fa61jhfefYsWMOr+OKFStMSeaqVatM03T/1/Lll18269evby5ZssTcv3+/OW/ePPOaa64x3377bXudqnodCThXSadOnczhw4fbfy4sLDTDwsLM5OTkauzV1XFpwCkqKjJDQkLM119/3V6WnZ1t+vj4mJ999lk19PDqOHbsmCnJXLNmjWmaxWOqVauWOW/ePHudnTt3mpLM9evXV1c3r1jdunXNjz76yHLj+/33383rr7/eXLFihXnbbbfZA44Vxjl+/HizXbt2pa6zwvhM0zTHjBlj3nLLLWWut+r7zlNPPWU2b97cLCoqssRr2atXL/ORRx5xKLvvvvvMfv36maZZta8jp6iugvz8fKWmpio2NtZe5uHhodjYWK1fv74ae+Ya+/fvV0ZGhsN4AwICFB0d7dbjzcnJkSTVq1dPkpSamqqCggKHcbZq1UqNGzd2y3EWFhZqzpw5OnXqlGJiYiw3vuHDh6tXr14O45Gs8zru2bNHYWFhatasmfr166eDBw9Kss74Fi1apI4dO+qBBx5QUFCQOnTooA8//NC+3orvO/n5+frkk0/0yCOPyDAMS7yWXbp0UUpKin7++WdJ0g8//KBvv/1WPXr0kFS1r2OFvosKpTtx4oQKCwsVHBzsUB4cHKxdu3ZVU69cJyMjQ5JKHe/5de6mqKhII0eOVNeuXXXjjTdKKh6nt7d3iW+ed7dxbt++XTExMTp79qyuueYaLViwQJGRkUpLS7PE+CRpzpw52rJlizZt2lRinRVex+joaM2cOVMtW7ZUenq6JkyYoL/+9a/asWOHJcYnSb/88ovef/99JSQk6LnnntOmTZv05JNPytvbWwMGDLDk+87ChQuVnZ1tf5q/FV7LxMRE2Ww2tWrVSp6eniosLNTLL7+sfv36Sara4wcBB1Dxp/8dO3bo22+/re6uXHUtW7ZUWlqacnJy9MUXX2jAgAFas2ZNdXfrqjl06JCeeuoprVixQr6+vtXdHZc4/+lXktq2bavo6Gg1adJEn3/+uWrXrl2NPbt6ioqK1LFjR73yyiuSpA4dOmjHjh2aOnWqBgwYUM29c41p06apR48eNea7FK+Gzz//XLNnz9ann36qv/zlL0pLS9PIkSMVFhZW5a8jp6iuggYNGsjT07PEle6ZmZkKCQmppl65zvkxWWW8I0aM0JIlS7Rq1So1atTIXh4SEqL8/HxlZ2c71He3cXp7e6tFixaKiopScnKy2rVrp7ffftsy40tNTdWxY8d00003ycvLS15eXlqzZo0mT54sLy8vBQcHW2KcFwsMDNQNN9ygvXv3WuZ1DA0NVWRkpENZ69at7afirPa+c+DAAf3nP//Ro48+ai+zwmv57LPPKjExUX379lWbNm308MMP6+mnn1ZycrKkqn0dCThXgbe3t6KiopSSkmIvKyoqUkpKimJiYqqxZ64RERGhkJAQh/HabDZt2LDBrcZrmqZGjBihBQsWaOXKlYqIiHBYHxUVpVq1ajmMc/fu3Tp48KBbjfNSRUVFysvLs8z4unXrpu3btystLc2+dOzYUf369bP/3QrjvFhubq727dun0NBQy7yOXbt2LfGYhp9//llNmjSRZJ33nfNmzJihoKAg9erVy15mhdfy9OnT8vBwjBaenp4qKiqSVMWv41W9ZPlPbM6cOaaPj485c+ZM86effjKHDh1qBgYGmhkZGdXdtUr5/fffza1bt5pbt241JZlvvvmmuXXrVvPAgQOmaRbf5hcYGGh++eWX5rZt28zevXu73e2aw4YNMwMCAszVq1c73LZ5+vRpe53HHnvMbNy4sbly5Upz8+bNZkxMjBkTE1ONva6YxMREc82aNeb+/fvNbdu2mYmJiaZhGOby5ctN03T/8ZXl4ruoTNP9xzlq1Chz9erV5v79+83vvvvOjI2NNRs0aGAeO3bMNE33H59pFt/i7+XlZb788svmnj17zNmzZ5t+fn7mJ598Yq9jhfcd0yy+y7Zx48bmmDFjSqxz99dywIAB5nXXXWe/TXz+/PlmgwYNzNGjR9vrVNXrSMC5it555x2zcePGpre3t9mpUyfz+++/r+4uVdqqVatMSSWWAQMGmKZZfKvf2LFjzeDgYNPHx8fs1q2buXv37urtdAWVNj5J5owZM+x1zpw5Yz7++ONm3bp1TT8/P/Pee+8109PTq6/TFfTII4+YTZo0Mb29vc2GDRua3bp1s4cb03T/8ZXl0oDj7uPs06ePGRoaanp7e5vXXXed2adPH4fnw7j7+M5bvHixeeONN5o+Pj5mq1atzA8++MBhvRXed0zTNJctW2ZKKrXv7v5a2mw286mnnjIbN25s+vr6ms2aNTOff/55My8vz16nql5HwzQverwgAACABXANDgAAsBwCDgAAsBwCDgAAsBwCDgAAsBwCDgAAsBwCDgAAsBwCDgAAsBwCDgAAsBwCDgAAsBwCDgAAsBwCDgAAsJz/D9Oze6TsZdNqAAAAAElFTkSuQmCC &quot;&gt;&#x27;}, &#x27;QB2__drive.awg&#x27;: {&#x27;1&#x27;: &#x27;&lt;img class=&quot;waveform-image&quot; src=&quot;data:image/png;base64, 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26bQ0FBJUpMmTRQSEuLQptVq1fr1611uEwAAmFsNd79AUlKS+vXrpw4dOig6OlpTpkzR6dOnNWDAAElSYmKibr75ZiUnJ0uSXnrpJXXs2FHNmzdXbm6uXnvtNR04cECPP/64pKI7rIYPH65//vOfuuWWW9SkSRONHTtWYWFh6tWrl7uHAwAAqgG3B5zevXvr2LFjGjdunLKystSuXTstX77cfpHwwYMH5eFxeSLpl19+0aBBg5SVlaW6desqKipKa9euVWRkpL3OyJEjdfr0aQ0ePFi5ubm68847tXz5cqcHAgIAgN8mi2EYRmV3oqJZrVb5+/srLy+P63EAAKgmynL8rnJ3UQEAANwoAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADAdAg4AADCdCgk406ZNU+PGjeXj46OYmBht2LChxLozZszQ73//e9WtW1d169ZVXFycU/3+/fvLYrE4LAkJCe4eBgAAqCbcHnAWLFigpKQkjR8/Xps3b1bbtm0VHx+vnJycYuuvXr1ajzzyiFatWqXU1FSFh4era9euOnLkiEO9hIQEZWZm2pePPvrI3UMBAADVhMUwDMOdLxATE6M77rhDb7/9tiTJZrMpPDxcTz31lEaPHl3q9oWFhapbt67efvttJSYmSiqawcnNzdXSpUtd6kNBQYEKCgrsX1utVoWHhysvL09+fn5lHxQAAKhwVqtV/v7+Lh2/3TqDc/78eaWlpSkuLu7yC3p4KC4uTqmpqS61cebMGV24cEH16tVzKF+9erWCgoLUokULDRkyRCdOnCixjeTkZPn7+9uX8PDw6xsQAACoFtwacI4fP67CwkIFBwc7lAcHBysrK8ulNkaNGqWwsDCHkJSQkKD3339fKSkpmjx5stasWaNu3bqpsLCw2DbGjBmjvLw8+3Lo0KHrHxQAAKjyalR2B67llVde0fz587V69Wr5+PjYy/v0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pkPAAQAApkPAAQAApkPAAQAApkPAAQAApkPAAQAApuO2gPPyyy+rU6dO8vX1VUBAgEvbGIahcePGKTQ0VLVq1VJcXJx+/vlnhzonT55U37595efnp4CAAA0cOFD5+fluGAEAAKiu3BZwzp8/r4cfflhDhgxxeZtXX31VU6dO1fTp07V+/XrVrl1b8fHxOnfunL1O3759tWPHDq1YsUKfffaZvv32Ww0ePNgdQwAAANWUxTAMw50vMGfOHA0fPly5ubnXrGcYhsLCwjRixAg999xzkqS8vDwFBwdrzpw56tOnj3bu3KnIyEht3LhRHTp0kCQtX75c3bt31+HDhxUWFlZs2wUFBSooKLB/nZeXp4iICB06dEh+fn7lM1AAAOBWVqtV4eHhys3Nlb+//7UrG242e/Zsw9/fv9R6e/bsMSQZW7ZscSi/6667jKefftowDMOYOXOmERAQ4LD+woULhqenp7F48eIS2x4/frwhiYWFhYWFhcUEy6FDh0rNFTVURWRlZUmSgoODHcqDg4Pt67KyshQUFOSwvkaNGqpXr569TnHGjBmjpKQk+9c2m00nT55U/fr1ZbFYymsIki6nSzPPDjFGc2CM5sAYzYExusYwDJ06darEMzZXKlPAGT16tCZPnnzNOjt37lTLli3L0qzbeXt7y9vb26HM1Qufr5efn59pf0gvYYzmwBjNgTGaA2MsXamnpn5VpoAzYsQI9e/f/5p1mjZtWpYm7UJCQiRJ2dnZCg0NtZdnZ2erXbt29jo5OTkO2128eFEnT560bw8AAFCmgNOgQQM1aNDALR1p0qSJQkJClJKSYg80VqtV69evt9+JFRsbq9zcXKWlpSkqKkqStHLlStlsNsXExLilXwAAoPpx223iBw8eVHp6ug4ePKjCwkKlp6crPT3d4Zk1LVu21JIlSyRJFotFw4cP1z//+U99+umn2rZtmxITExUWFqZevXpJklq1aqWEhAQNGjRIGzZs0Pfff69hw4apT58+Lp2Pqwje3t4aP3680ykxM2GM5sAYzYExmgNjLH9uu028f//+mjt3rlP5qlWrdM899xS9uMWi2bNn2097GYah8ePH67333lNubq7uvPNOvfPOO7r11lvt2588eVLDhg3TsmXL5OHhoYceekhTp05VnTp13DEMAABQDbn9OTgAAAAVjc+iAgAApkPAAQAApkPA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 &quot;&gt;&#x27;}, &#x27;PL_RO-1__readout&#x27;: {}}\n",
509
460
  " var segment_indices = [0, 1, 2, 3, 4]\n",
510
461
  "\n",
511
462
  " const create_groups_and_items = (schedules, waveforms, threshold) =&gt; {\n",
@@ -699,7 +650,7 @@
699
650
  "<IPython.core.display.HTML object>"
700
651
  ]
701
652
  },
702
- "execution_count": 11,
653
+ "execution_count": 9,
703
654
  "metadata": {},
704
655
  "output_type": "execute_result"
705
656
  }
@@ -1,6 +1,6 @@
1
1
  iqm-exa-common>=26,<27
2
2
  iqm-station-control-client>=9,<10
3
- iqm-pulse>=9,<10
3
+ iqm-pulse>=10,<11
4
4
  iqm-data-definitions >= 2.13, < 3.0
5
5
  pylatexenc == 2.10
6
6
  pydantic >= 2.10.4, < 3.0
@@ -1,6 +1,6 @@
1
1
  iqm-exa-common>=26,<27
2
2
  iqm-station-control-client>=9,<10
3
- iqm-pulse>=9,<10
3
+ iqm-pulse>=10,<11
4
4
  notebook >= 6.4.11, < 7
5
5
  matplotlib >= 3.6.3, < 4
6
6
  nbclient~=0.5.10
@@ -1,5 +1,5 @@
1
1
  iqm-exa-common>=26,<27
2
2
  iqm-station-control-client>=9,<10
3
- iqm-pulse>=9,<10
3
+ iqm-pulse>=10,<11
4
4
  iqm-pyqir==0.12.0
5
5
  iqm-qiskit-qir==0.8.0
@@ -0,0 +1,5 @@
1
+ iqm-exa-common>=26,<27
2
+ iqm-station-control-client>=9,<10
3
+ iqm-pulse>=10,<11
4
+ iqm-client>=29,<30
5
+ iqm-client[qiskit]>=29,<30
@@ -49,7 +49,7 @@ from iqm.pulla.utils import (
49
49
  )
50
50
  from iqm.pulse.builder import ScheduleBuilder
51
51
  from iqm.pulse.gate_implementation import GateImplementation, Locus
52
- from iqm.pulse.gates import register_implementation
52
+ from iqm.pulse.gates import register_implementation, register_operation
53
53
 
54
54
  # from iqm.pulse.gates.move import apply_move_gate_phase_corrections, validate_move_instructions
55
55
  from iqm.pulse.quantum_ops import QuantumOp
@@ -323,38 +323,36 @@ class Compiler:
323
323
  self,
324
324
  op_name: str,
325
325
  impl_name: str,
326
- implementation: type[GateImplementation],
326
+ impl_class: type[GateImplementation],
327
327
  *,
328
328
  set_as_default: bool = False,
329
329
  overwrite: bool = False,
330
- quantum_op_specs: QuantumOp | dict | None = None,
330
+ quantum_op: QuantumOp | None = None,
331
331
  ) -> None:
332
- """Adds a new implementation of a quantum operation (gate).
332
+ """Adds a new implementation for a quantum operation (gate).
333
333
 
334
334
  Refreshes the compiler after adding a new implementation.
335
335
 
336
336
  Args:
337
- op_name: The gate name for which to register a new implementation.
338
- impl_name: The "human-readable" name with which the new gate implementation will be found e.g. in settings.
339
- implementation: The python class of the new gate implementation to be added.
340
- set_as_default: Whether to set the new implementation as the default implementation for the gate.
341
- overwrite: If True, allows replacing any existing implementation of the same name.
342
- quantum_op_specs: The quantum operation this gate represents. If a QuantumOp is given, it is used as is.
337
+ op_name: The name of the quantum operation for which to register a new implementation.
338
+ impl_name: The "human-readable" name with which the new implementation will be found e.g. in settings.
339
+ impl_class: The class of the new implementation to be added.
340
+ set_as_default: Whether to set the new implementation as the default implementation for the operation.
341
+ overwrite: If True, replaces any existing implementation of the same name for the operation.
342
+ quantum_op: The quantum operation this gate represents. If a QuantumOp is given, it is used as is.
343
343
  If None is given and the same gate has been registered before, the previously registered properties are
344
- used.
345
- Otherwise, the given dict values are given to the constructor of
346
- :class:`~iqm.pulse.quantum_ops.QuantumOp`.
347
- For any missing constructor values, some defaults suitable for a 1-QB gate are used.
344
+ used. Existing operations cannot be replaced or modified.
348
345
 
349
346
  """
347
+ if quantum_op is not None:
348
+ register_operation(self.builder.op_table, quantum_op)
350
349
  register_implementation(
351
350
  operations=self.builder.op_table,
352
- gate_name=op_name,
351
+ op_name=op_name,
353
352
  impl_name=impl_name,
354
- impl_class=implementation,
353
+ impl_class=impl_class,
355
354
  set_as_default=set_as_default,
356
355
  overwrite=overwrite,
357
- quantum_op_specs=quantum_op_specs,
358
356
  )
359
357
  self._refresh()
360
358
 
@@ -86,7 +86,7 @@ def iqm_circuit_to_gate_implementation(circuit: CPC_Circuit, qubit_mapping: dict
86
86
  # TODO This method does not heed GateImplementation.locus, and will always apply the
87
87
  # gate on fixed qubits. It just pastes ``circuit`` contents, with the qubits mapped using
88
88
  # the likewise fixed mapping, into a TimeBox.
89
- registered_gates = list({instr.name for instr in circuit.instructions})
89
+ registered_gates = tuple({instr.name for instr in circuit.instructions})
90
90
 
91
91
  def __call__(self):
92
92
  boxes = []
@@ -34,10 +34,11 @@ from pyqir import (
34
34
  required_num_results,
35
35
  result_id,
36
36
  )
37
+ from qiskit import QuantumCircuit
38
+ from qiskit.providers import BackendV2
37
39
 
38
40
  from iqm.cpc.compiler.compiler import Compiler
39
41
  from iqm.cpc.interface.compiler import Circuit as CPC_Circuit
40
- from iqm.pulla.pulla import Pulla
41
42
  from iqm.pulse.builder import CircuitOperation
42
43
 
43
44
  qir_logger = logging.getLogger(__name__)
@@ -147,19 +148,20 @@ def _parse_double(value: str) -> float:
147
148
 
148
149
 
149
150
  def qir_to_pulla( # noqa: PLR0915, PLR0912
150
- pulla: Pulla, qir: str | bytes, qubit_mapping: dict[int, str] | None = None
151
+ compiler: Compiler, qir: str | bytes, qubit_mapping: dict[str, str] | None = None
151
152
  ) -> tuple[list[CPC_Circuit], Compiler]:
152
153
  """Convert a QIR module to a CPC circuit.
153
154
 
154
155
  Args:
155
- pulla: The Pulla instance to get compiler from.
156
+ compiler: compiler to use
156
157
  qir: The QIR source or bitcode to convert to a circuit.
157
158
  qubit_mapping: A dictionary mapping QIR qubit indexes to physical qubit names,
158
159
  None will assume opaque pointers match physical names.
159
160
 
160
161
  Returns:
161
162
  str: The QIR program name,
162
- tuple[CircuitOperation, ...]: The circuit operations extracted from the QIR code.
163
+ tuple[list[Circuit], Compiler]:
164
+ Circuits extracted from the QIR module and the compiler with updated component_mapping
163
165
 
164
166
  Raises:
165
167
  ValueError: If the QIR program has more than one basic block.
@@ -240,14 +242,11 @@ def qir_to_pulla( # noqa: PLR0915, PLR0912
240
242
  circuits = [CPC_Circuit(name=name, instructions=circuit_instructions)]
241
243
  qir_logger.debug("Converted circuit: %s", circuits)
242
244
 
243
- # Create a compiler containing all the required station information
244
- compiler = pulla.get_standard_compiler()
245
-
246
245
  if qubit_mapping:
247
246
  # QIR programs reference to qubits as opaque pointer indexes,
248
247
  # however, for example qiskit is using logical names for qubits,
249
248
  # so we need to map these indexes to physical qubit names
250
- compiler.component_mapping = {f"{i}": qubit_mapping[i] for i in range(_required_num_qubits)}
249
+ compiler.component_mapping = {f"{i}": qubit_mapping[str(i)] for i in range(_required_num_qubits)}
251
250
  else:
252
251
  # QIR programs reference to qubits as opaque pointer indexes,
253
252
  # we expect these indexes to match physical qubit names,
@@ -256,3 +255,33 @@ def qir_to_pulla( # noqa: PLR0915, PLR0912
256
255
  compiler.component_mapping = {f"{i}": f"QB{i + 1}" for i in range(_required_num_qubits)}
257
256
 
258
257
  return circuits, compiler
258
+
259
+
260
+ def generate_qiskit_qir_qubit_mapping(qiskit_circuit: QuantumCircuit, qiskit_backend: BackendV2) -> dict[str, str]:
261
+ """qiskit-qir has a bug, which causes qubit pointers to not be generated correctly
262
+ according to the final_layout. So we replicate this logic here and generate a new mapping.
263
+ Then we assign qiskit-qir index to the qiskit logic qubit idx.
264
+
265
+ Args:
266
+ qiskit_circuit: Qiskit circuit to generate the mapping for.
267
+ qiskit_backend: Qiskit backend object to be used for qubit name generation.
268
+
269
+ Returns:
270
+ A dictionary mapping Qiskit qubit indices to QIR qubit pointers.
271
+
272
+ """
273
+ # For simplicity, reverse the mapping
274
+ layout_reverse_mapping = {bit: idx for idx, bit in qiskit_circuit.layout.final_layout.get_physical_bits().items()}
275
+ qiskit_qir_mapping: dict[int, int] = {}
276
+
277
+ # Replicate qiskit-qir logic for defining qubit pointer indices
278
+ for register in qiskit_circuit.qregs:
279
+ qiskit_qir_mapping.update(
280
+ {layout_reverse_mapping[bit]: n + len(qiskit_qir_mapping) for n, bit in enumerate(register)}
281
+ )
282
+
283
+ # In the generated QIR qubit pointers will use qiskit-qir qubit labels,
284
+ # but we already know how to map them to IQM physical qubits, through qiskit logical qubit indices.
285
+ return {
286
+ str(qiskit_qir_mapping[i]): str(qiskit_backend.index_to_qubit_name(i)) for i in range(qiskit_circuit.num_qubits)
287
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-pulla
3
- Version: 8.3.0
3
+ Version: 9.1.0
4
4
  Summary: Client library for pulse-level access to an IQM quantum computer
5
5
  Author-email: IQM Finland Oy <developers@meetiqm.com>
6
6
  License: Apache License
@@ -218,29 +218,29 @@ License-File: LICENSE.txt
218
218
  License-File: AUTHORS.rst
219
219
  Requires-Dist: iqm-exa-common<27,>=26
220
220
  Requires-Dist: iqm-station-control-client<10,>=9
221
- Requires-Dist: iqm-pulse<10,>=9
221
+ Requires-Dist: iqm-pulse<11,>=10
222
222
  Requires-Dist: iqm-data-definitions<3.0,>=2.13
223
223
  Requires-Dist: pylatexenc==2.10
224
224
  Requires-Dist: pydantic<3.0,>=2.10.4
225
225
  Provides-Extra: notebook
226
226
  Requires-Dist: iqm-exa-common<27,>=26; extra == "notebook"
227
227
  Requires-Dist: iqm-station-control-client<10,>=9; extra == "notebook"
228
- Requires-Dist: iqm-pulse<10,>=9; extra == "notebook"
228
+ Requires-Dist: iqm-pulse<11,>=10; extra == "notebook"
229
229
  Requires-Dist: notebook<7,>=6.4.11; extra == "notebook"
230
230
  Requires-Dist: matplotlib<4,>=3.6.3; extra == "notebook"
231
231
  Requires-Dist: nbclient~=0.5.10; extra == "notebook"
232
232
  Provides-Extra: qir
233
233
  Requires-Dist: iqm-exa-common<27,>=26; extra == "qir"
234
234
  Requires-Dist: iqm-station-control-client<10,>=9; extra == "qir"
235
- Requires-Dist: iqm-pulse<10,>=9; extra == "qir"
235
+ Requires-Dist: iqm-pulse<11,>=10; extra == "qir"
236
236
  Requires-Dist: iqm-pyqir==0.12.0; extra == "qir"
237
237
  Requires-Dist: iqm-qiskit-qir==0.8.0; extra == "qir"
238
238
  Provides-Extra: qiskit
239
239
  Requires-Dist: iqm-exa-common<27,>=26; extra == "qiskit"
240
240
  Requires-Dist: iqm-station-control-client<10,>=9; extra == "qiskit"
241
- Requires-Dist: iqm-pulse<10,>=9; extra == "qiskit"
242
- Requires-Dist: iqm-client[qiskit]<30,>=29; extra == "qiskit"
241
+ Requires-Dist: iqm-pulse<11,>=10; extra == "qiskit"
243
242
  Requires-Dist: iqm-client<30,>=29; extra == "qiskit"
243
+ Requires-Dist: iqm-client[qiskit]<30,>=29; extra == "qiskit"
244
244
 
245
245
  IQM Pulla
246
246
  #########
@@ -1,6 +1,6 @@
1
1
  iqm-exa-common<27,>=26
2
2
  iqm-station-control-client<10,>=9
3
- iqm-pulse<10,>=9
3
+ iqm-pulse<11,>=10
4
4
  iqm-data-definitions<3.0,>=2.13
5
5
  pylatexenc==2.10
6
6
  pydantic<3.0,>=2.10.4
@@ -8,7 +8,7 @@ pydantic<3.0,>=2.10.4
8
8
  [notebook]
9
9
  iqm-exa-common<27,>=26
10
10
  iqm-station-control-client<10,>=9
11
- iqm-pulse<10,>=9
11
+ iqm-pulse<11,>=10
12
12
  notebook<7,>=6.4.11
13
13
  matplotlib<4,>=3.6.3
14
14
  nbclient~=0.5.10
@@ -16,13 +16,13 @@ nbclient~=0.5.10
16
16
  [qir]
17
17
  iqm-exa-common<27,>=26
18
18
  iqm-station-control-client<10,>=9
19
- iqm-pulse<10,>=9
19
+ iqm-pulse<11,>=10
20
20
  iqm-pyqir==0.12.0
21
21
  iqm-qiskit-qir==0.8.0
22
22
 
23
23
  [qiskit]
24
24
  iqm-exa-common<27,>=26
25
25
  iqm-station-control-client<10,>=9
26
- iqm-pulse<10,>=9
27
- iqm-client[qiskit]<30,>=29
26
+ iqm-pulse<11,>=10
28
27
  iqm-client<30,>=29
28
+ iqm-client[qiskit]<30,>=29
@@ -0,0 +1 @@
1
+ 9.1.0
@@ -1,5 +0,0 @@
1
- iqm-exa-common>=26,<27
2
- iqm-station-control-client>=9,<10
3
- iqm-pulse>=9,<10
4
- iqm-client[qiskit]>=29,<30
5
- iqm-client>=29,<30
@@ -1 +0,0 @@
1
- 8.3.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes