{ "cells": [ { "cell_type": "markdown", "id": "283fddbe", "metadata": {}, "source": [ "# IBM Optimizations using Cirq" ] }, { "cell_type": "markdown", "id": "b7609ea0", "metadata": {}, "source": [ "[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Infleqtion/client-superstaq/blob/main/docs/source/optimizations/ibm/ibmq_compile_css.ipynb) [![Launch Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Infleqtion/client-superstaq/HEAD?labpath=docs/source/optimizations/ibm/ibmq_compile_css.ipynb)" ] }, { "cell_type": "markdown", "id": "55320d7b", "metadata": {}, "source": [ "Below is a brief tutorial on Superstaq optimizations for IBM Quantum superconducting qubit devices. For more information on IBM Quantum, visit their website [here](https://www.ibm.com/quantum)." ] }, { "cell_type": "markdown", "id": "cc148463", "metadata": {}, "source": [ "## Imports and API Token\n", "\n", "This example tutorial notebook uses `cirq-superstaq`, our Superstaq client for Cirq; you can try it out by running `pip install cirq-superstaq[examples]`:" ] }, { "cell_type": "code", "execution_count": 1, "id": "032904b0", "metadata": {}, "outputs": [], "source": [ "try:\n", " import cirq\n", " import cirq_superstaq as css\n", " import qiskit\n", " import qiskit_superstaq as qss\n", "except ImportError:\n", " print(\"Installing cirq-superstaq[examples]...\")\n", " %pip install --quiet 'cirq-superstaq[examples]'\n", " print(\"Installed cirq-superstaq[examples].\")\n", " print(\"You may need to restart the kernel to import newly installed packages.\")\n", " import cirq\n", " import cirq_superstaq as css\n", " import qiskit\n", " import qiskit_superstaq as qss\n", "\n", "import numpy as np" ] }, { "cell_type": "markdown", "id": "ea70f3e9", "metadata": {}, "source": [ "To interface Superstaq via Cirq, we must first instantiate a service with `cirq_superstaq.Service()`. We then supply a Superstaq API token by either providing the API token as an argument to `cirq_superstaq.Service()` or by setting it as an environment variable (see more details [here](https://superstaq.readthedocs.io/en/latest/get_started/basics/basics_css.html#Set-up-access-to-Superstaq%E2%80%99s-API))" ] }, { "cell_type": "code", "execution_count": 2, "id": "972b9908", "metadata": {}, "outputs": [], "source": [ "# Provide your Superstaq API key using the \"api_key\" argument\n", "service = css.Service()" ] }, { "cell_type": "markdown", "id": "80e1d5e7", "metadata": {}, "source": [ "## Single Circuit Compilation\n", "\n", "Let us start by creating an example Cirq circuit that we will then compile and optimize for the 127-qubit IBM Quantum `brisbane` processor." ] }, { "cell_type": "code", "execution_count": 3, "id": "06be41c6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
0: ───@───────────────@───│───M───\n",
       "      │               │   │   │\n",
       "1: ───X───Rz(1.28π)───X───│───M───
" ], "text/plain": [ "0: ───@───────────────@───│───M───\n", " │ │ │ │\n", "1: ───X───Rz(1.28π)───X───│───M───" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Create a two-qubit cirq circuit\n", "qubits = cirq.LineQubit.range(2)\n", "theta = np.random.uniform(0, 4 * np.pi)\n", "circuit = cirq.Circuit(\n", " cirq.CNOT(qubits[0], qubits[1]),\n", " cirq.Rz(rads=theta)(qubits[1]),\n", " cirq.CNOT(qubits[0], qubits[1]),\n", " css.barrier(*qubits),\n", " cirq.measure(qubits[0], qubits[1]),\n", ")\n", "\n", "# Visualize circuit\n", "circuit" ] }, { "cell_type": "markdown", "id": "e204bac3", "metadata": {}, "source": [ "We will now compile the above circuit to IBM's `brisbane` processor and visualize the differences by drawing the compiled circuit. " ] }, { "cell_type": "code", "execution_count": 4, "id": "e921bf6e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
4: ───Rz(0.5π)───X──────────AceCR+-(Z side)───Rz(0.5π)───X────────────AceCR+-(Z side)───Rz(π)──────────────│───M('q(0),q(1)')───\n",
       "                            │                                         │                                    │   │\n",
       "5: ──────────────Rz(1.5π)───AceCR+-(X side)───X^0.5──────Rz(0.276π)───AceCR+-(X side)───X^0.5───Rz(1.5π)───│───M────────────────
" ], "text/plain": [ "4: ───Rz(0.5π)───X──────────AceCR+-(Z side)───Rz(0.5π)───X────────────AceCR+-(Z side)───Rz(π)──────────────│───M('q(0),q(1)')───\n", " │ │ │ │\n", "5: ──────────────Rz(1.5π)───AceCR+-(X side)───X^0.5──────Rz(0.276π)───AceCR+-(X side)───X^0.5───Rz(1.5π)───│───M────────────────" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Compile with qscout compile\n", "compiler_output = service.ibmq_compile(circuit, target=\"ibmq_brisbane_qpu\")\n", "\n", "# Call circuit from the compiler output to get the corresponding output circuit\n", "output_circuit = compiler_output.circuit\n", "\n", "# Visualize the compiled circuit\n", "output_circuit" ] }, { "cell_type": "markdown", "id": "57bf81d5", "metadata": {}, "source": [ "The resulting output is now a circuit compiled to `brisbane`'s native operations. With Superstaq compilation, you can also observe the gates and gate times for the compiled circuit using Qiskit’s timeline drawer (see [Qiskit Timeline Visualizations Documentation](https://docs.quantum.ibm.com/api/qiskit/qiskit.visualization.timeline_drawer)). \n", "\n", "Additionally, to ensure that the drawer has all the information on the instruction durations, we must also provide the `qiskit.transpiler.Target` of the corresponding backend the timeline is being generated for. It can be retrieved from `qiskit_superstaq` like so:" ] }, { "cell_type": "code", "execution_count": 5, "id": "24c65259", "metadata": {}, "outputs": [], "source": [ "backend_target = qss.SuperstaqProvider().get_backend(\"ibmq_brisbane_qpu\").target" ] }, { "cell_type": "code", "execution_count": 6, "id": "bd85d98b", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAC60AAAEiCAYAAACoH9W+AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAdahJREFUeJzs3Xd4VGXexvH7zGTSe4HQe+8IERQQVhAUEMTeKCrYC7a1rQZdseHaV1YBUcEGNhRQQIrSEQRBQid0AiEkIWVSZub9g5eRYSaQhEwm5fu5Lq4lz3nOOb8zy/vuL2fu8xzD4XA4BAAAAAAAAAAAAAAAAAAAAACAF5h8XQAAAAAAAAAAAAAAAAAAAAAAoOoitA4AAAAAAAAAAAAAAAAAAAAA8BpC6wAAAAAAAAAAAAAAAAAAAAAAryG0DgAAAAAAAAAAAAAAAAAAAADwGkLrAAAAAAAAAAAAAAAAAAAAAACvIbQOAAAAAAAAAAAAAAAAAAAAAPAaQusAAAAAAAAAAAAAAAAAAAAAAK8htA4AAAAAAAAAAAAAAAAAAAAA8BpC6wAAAAAAAAAAAAAAAAAAAAAAryG0DgAAAAAAAAAAAAAAAAAAAADwGkLrAAAAAAAAAAAAAAAAAAAAAACvIbQOAAAAAAAAAAAAAAAAAAAAAPAaQusAAAAAAAAAAAAAAAAAAAAAAK8htA4AAAAAAAAAAAAAAAAAAAAA8BpC6wAAAAAAAAAAAAAAAAAAAAAAryG0DgAAAAAAAAAAAAAAAAAAAADwGkLrAAAAAAAAAAAAAAAAAAAAAACvIbQOAAAAAAAAAAAAAAAAAAAAAPAaQusAAAAAAAAAAAAAAAAAAAAAAK8htA4AAAAAAAAAAAAAAAAAAAAA8BpC6wAAAAAAAAAAAAAAAAAAAAAAryG0DgAAAAAAAAAAAAAAAAAAAADwGkLrAAAAAAAAAAAAAAAAAAAAAACvIbQOAAAAAAAAAAAAAAAAAAAAAPAaQusAAAAAAAAAAAAAAAAAAAAAAK8htA4AAAAAAAAAAAAAAAAAAAAA8BpC6wAAAAAAAAAAAAAAAAAAAAAAryG0DgAAAAAAAAAAAAAAAAAAAADwGkLrAAAAAAAAAAAAAAAAAAAAAACvIbQOAAAAAAAAAAAAAAAAAAAAAPAaQusAAAAAAAAAAAAAAAAAAAAAAK8htA4AAAAAAAAAAAAAAAAAAAAA8BpC6wAAAAAAAAAAAAAAAAAAAAAAryG0DgAAAAAAAAAAAAAAAAAAAADwGkLrAAAAAAAAAAAAAAAAAAAAAACvIbQOAAAAAAAAAAAAAAAAAAAAAPAaQusAAAAAAAAAAAAAAAAAAAAAAK8htA4AAAAAAAAAAAAAAAAAAAAA8BpC6wAAAAAAAAAAAAAAAAAAAAAAryG0DgAAAAAAAAAAAAAAAAAAAADwGkLrAAAAAAAAAAAAAAAAAAAAAACvIbQOAAAAAAAAAAAAAAAAAAAAAPAaP18XAAAAAAAAAAAAUBoOh0O5ubkuY0FBQTIMw0cVAQAAAAAAAAA8IbQOAAAAAAAAAAAqpdzcXH344YcuY6NHj1ZwcLCPKgIAAAAAAAAAeGLydQEAAAAAAAAAAAAAAAAAAAAAgKqL0DoAAAAAAAAAAAAAAAAAAAAAwGsIrZeRqVOnyjAM5x8/Pz/VqVNHI0eO1IEDB3xdHgAAAFBh0UsDAAAApUMvDQAAAAAAAACoLPx8XUBV8/zzz6tRo0ayWq1auXKlpk6dqqVLl2rTpk0KDAz0dXkAAABAhUUvDQAAAJQOvTQAAAAAAAAAoKIjtF7GLr/8cnXp0kWSdMcddyg2NlavvPKKZs2apeuuu87H1QEAAAAVF700AAAAUDr00gAAAAAAAACAis7k6wKqup49e0qSdu7c6eNKAAAAgMqFXhoAAAAoHXppAAAAAAAAAEBFQ2jdy5KTkyVJUVFRvi0EAAAAqGTopQEAAIDSoZcGAAAAAAAAAFQ0fr4uoKrJyMhQamqqrFarVq1apXHjxikgIECDBg3ydWkAAABAhUYvDQAAAJQOvTQAAAAAAAAAoKIjtF7G+vbt6/Jzw4YNNW3aNNWtW9dHFQEAAACVA700AAAAUDr00gAAAAAAAACAio7Qehl777331Lx5c2VkZGjKlCn69ddfFRAQ4OuyAAAAgAqPXhoAAAAoHXppAAAAAAAAAEBFR2i9jCUkJKhLly6SpKFDh6pHjx666aabtHXrVoWGhvq4OgAAAKDiopcGAAAASodeGgAAAAAAAABQ0Zl8XUBVZjab9dJLL+ngwYN69913neNDhgxRaGioQkNDFRISIsMwtGLFCh9WCgAAAFQs9NIAAABA6dBLAwAAAAAAAAAqIkLrXta7d28lJCTozTfflNVqlSR9//33ysrKUlZWlkaOHKlhw4YpISHBx5UCAAAAFQu9NAAAAFA69NIAAAAAAAAAgIqG0Ho5eOyxx5SSkqKpU6e6jScnJ+vzzz+X2Wz2TXEAAABABUYvDQAAAJQOvTQAAAAAAAAAoCIhtF4Ohg0bpiZNmmjChAmy2WySpMTERK1du1Zff/21/P39fVwhAAAAUDHRSwMAAAClQy8NAAAAAAAAAKhIDIfD4fB1EdXNhAkT9M0332jevHkKDQ31dTkAAABApUEvDQAAAJROVe2lc3Jy9OGHH7qMjR49WsHBwT6qCAAAAAAAAADgiZ+vCzjl8OHDvi6hXHz88ceaPn26Zs6cqaysLGVlZfm6JAAAAKBSoJcGAAAASqcq99K5ublu15OSkqKgoCAfVQQAAAAAAAAAFVN8fLxPz19hVlqvLqH1Fi1aKC8vT2az2Tn2zTffqEOHDj6sCgAAAKj46KUBAACA0qnKvXRubq4+++wzl7GbbrqJ0DoAAAAAAAAAnMHXofUKs9J6dbF161ZflwAAAABUSvTSAAAAQOnQSwMAAAAAAAAAfI3Quo+kFRZqVXbVeAVrbYu/OgQHn3WO3SZlHQqQw15ORQEAAKDSMSSFxOfL7H/2l0HtzLNqm9VaPkV5WZugINX3DzjrnEKroewj/uVUEQAAACojk9mh0Fr5Mky+rqRiSU9PV1pamq/LAAAAAAAAAFDBGIah2rVrKyDg7N/Xo2wRWvcBm8Ohm3bv0GZrrq9LKRMmSTMbN1OXkNAi5xz6PVzHt5892A4AAAAE18hXo35pMgzP2w/m52vwjq3KsleNpyFjzH5a2LyVovw8/2rmsEvJv0TLetxSzpUBAACgsolrm6WaHavGQillISsrS998840KCgp8XQoAAAAAAACACqhWrVoaPHiwjKICCihzrLviA/MyM6pMYF2S7JLeOnK4yO0F2SYd3xFUfgUBAACg0so54q/slKJXFZ+UeqTKBNYl6ZitUJ+mpRa5PXN/AIF1AAAAFEtqUrBseXy5csqff/5JYB0AAAAAAABAkQ4dOqRDhw75uoxqhdC6D3ydXvVeR/pb1gkdKeILgPTkQMnBlyUAAAAonvTdgR7HbQ6Hvss4Xs7VeN83x9PkcDg8bkvfxcOfAAAAKB6HzaTMfZ576erGbrdrx44dvi4DAAAAAAAAQAW3bds2X5dQrRBaL2dWu11LTmT6uowyZ5e04ESGx20n9vNFCQAAAIrvxP5Aecpwr8vJVmphYfkX5GW78vO0Iy/PbdxeKGUdDPBBRQAAAKisMvfRP0rS0aNHlZtbdd52CgAAAAAAAMA79uzZU+Qicyh7hNbL2ersLOVV0X/gv2WdcBuz5RvKSbX4oBoAAABUVrY8k6xpfm7jv3roN6uK37LcH2zNPuIvh503FgEAAKD4slP85bD7ugrf45W+AAAAAAAAAIrDarUqNTXV12VUG4TWy9nK7Cxfl+A1K7Oy3J44yTlqkRwEbQAAAFAy2Sn+bmNVuZde4eHaPH0GAAAAwNnYC03KPcYiIikpKb4uAQAAAAAAAEAlcfDgQV+XUG0QWi9na3KyfV2C1xyzFSo5P89lLPsIQRsAAACUXPZR1z4y327X+ircS/+ene3hAVB6aQAAAJRcztHqHVp3OBysjAQAAAAAAACg2A4fPuzrEqoNQuvlqNDh0IYqHLSRpLVnXF9uavX+ggQAAAClk3vUotMz3EnWXOWdEequSo7ZCrUnP9/5s8MuVsgEAABAqeSk8vCjzWbzdQkAAAAAAAAAKokjR464LTIH7yC0Xo62W62yVvF/2H/m5jj/7nBIuWkEbQAAAFByhVazCnP+/nVlw2l9ZlV1ei9tzfCTw2b4sBoAAABUVtX94Ue+XAIAAAAAAABQEjk5OcrJqfqZhIrAz9cFVCenQij2VatlG/dvqbDQ4zzLvDnlWVaZ2nDa/+HmZ5plL+C5CAAAAJRO7jGLLCF5kqpHL/1nbo6ujIySRNAIAAAApVeQbVah1SS/QLvL+IIFC3TbbbepoKDA436HDh0qj/K8jtA6AAAAAAAAgJI6cuSIGjVq5OsyqrxSJ4pnzZql7t27Kzg4WDExMbr66qu1bds2JSYmyjAMTZ06tQzLrBo2/X/QxrHm9yJDNuer8OXXVDBwiBz797tts33xlQouu0L2lau8cm5JSrLmyvb/XwqwyjoAAADOR+7xv/vJTbm5kqp2L73p9JXW03i+GAAAAKWX66GfXLhwYZGB9aqE0DoAAEDF88cffygxMVGJiYnas2eP23aHw6H//Oc/SkxM1PTp031QIQAAAKq71NRUX5dQLZQqtD5x4kQNGTJEq1atUteuXdWvXz+tXbtWCQkJ2rlzZ1nXWClt3LjR7XUBm6y5Hueabr5RfjM+d/45H+Y7R0uBAbK99a7LuOPQYdmnfy6jx8UydbvwvM5xNlaHQ7vyTq6GaT1O0AYAAAAlt+PAH8rNz3YGt/Ptdm3Ps3qcW5V66b+suc6AjfU4D4ACAACg5Jy9dDH6ybFjx2rTpk3OP1UBgXUAAICKzc/PTxs3bnQbT05OVmZmpsxmsw+qAgAAAKRjx475uoRqocSh9T179mjs2LGyWCyaO3eulixZoi+++ELbt2/XoEGDNG3aNG/UWans27dP119/vW644QZlZ2dLkuwOh5LODK3Hxp7c9vmXcmzeIiMiQkZExHmd24iKlPn22+TY8Kfs8xY4x23vvCeZzTLfc+d5Hb84/rKeDOvnErQBgDKVm5/t6xIAwOtSju/RPz/opyc/7K+0QycfhtyeZ1XBmeGTKthLZ9hsOlBQIIeDB0ABoKzRSwOoDlx66YOeH/qUpNq1a0uS3nrrLa1du1YxMTGKiYkprzIBAABQjTVr1kybN2+WzWZzGd+4caNq1aql0NBQH1VWNvLz831dAgAAAEqJldbLR4mTEFOmTJHVatXw4cPVv39/57jFYtFbb72lb7/91m2F8dNt3LhRnTp1Unx8vPbv31+6qiu4559/XsePH1dQUJACAgIkSXvz85Vjt7vMMw24TMrMlH3Wj7K9+18ZF3SS4e9/3uc3Lu8vY/4C2T6cJKNbghxr/5Dj97Uy3XOXjP8P93hTkjVXQyXlEbQBUA2lZhzQ1J//pVVJs5Wdm67asU11Ta9HNCDhNrd5H//8rFZvnasT2ccUE15bXVoM0D1D3pLFz1+fzEvUp/PHadKjf2n6gn9rzda5qhnVUBPH/uGjKwOA8vG/Hx9VZs4xBViCZSoIUWGeVZs9vLGoqvbSW6y5issLkr2wVC/FAoBKjV4aAM7P6b20PTtMUrrHeTfeeKPS0tL00Ucf6cknn1SvXr0UGBhYrrV6CyutAwAAVGxt27ZVUlKSdu3apWbNmkmSCgsLtXnzZvXq1UurVq1y2yczM1MLFy7U9u3bZbVaFR0dre7du6tz587OOenp6Vq6dKl2796tjIwMWSwWNWrUSP369VNUVJRzXl5enhYuXKgtW7YoKytLAQEBio+PV9++fZ0Pd3777bdKTk7W2LFjXepYtGiRlixZosTERJef77nnHv3666/asWOHIiMjdddddxW7bgAAAFQc2dnZysvLc2Z+4R0lThX/9ttvkqQbbrjBbVtMTIwuu+wyfffdd0Xu/9BDD1XpVVtSU1M1Z84cmUwmvfrqq/LzO/kRb/EQtJEk05g7ZF+xSjp6VI5Vq2X07HHeNRiGIfOD96vwnvtle/tdOTb9JaN5M5muHHTexy6OLblWFeaaVGjl1V0AqpfjJ1L0wDvdJMPQkIvuU0RonNZsmavXZ9yunLxMDev5kCQpNeOg7ns7Qdm56bqi2xjVi2up1MwD+u3PmcoryJHF7+/Q5QufXqs6sc1024DxcogvXgFUbcezjmjZxm9kMkx66OqJMpv9lJfupy32atRLW3PV1crDnwCqH3ppADg/Z/bStuwA2W2SqYhbtM8++6x+/vlnHTx4UAsWLNCgQeXT73oboXUAAICKLTIyUvXq1dPGjRudofUdO3YoLy9Pbdu2dQutZ2VladKkSZKkhIQEBQcHa8eOHZo1a5by8vLUvXt3SdKBAwe0b98+tW3bVuHh4UpPT9eaNWs0depU3XvvvfL//wVPfvzxR23evFkJCQmKi4tTTk6O9u7dq9TUVGdovaRmzJih6OhoXXrppc5+tLh1AwAAoGI5duxYqftCFE+J0xAHDx6UJDVo0MDj9oYNGxa573fffaddu3bptttu06efflrSU1cKK1eulN1uV+fOnV0+o6QiQuuGv79Ml/SUfeY3cvy5USqDoI0kGQ0byHTNMNm/+EoymWR+YZwMU/ms1phkzZU1naANgOpnyk9Py+aw6cOxGxUecvIBrcHd79KL02/UJ/MSNbDbnQqwBGnK3Cd1/MRhvX3/KrWo18W5/8j+z7t9udq4Vgc9dfNn5XodAOArG3f9KrvDrpb1L1StmMaSJOtxi5ICrB7nV9le+rilXM4FABUJvTQAnB+3Xtoh5aX7KSim0OP8wMBAXXnllZo4caJWrFhRZULrAAAAqPjatWunBQsWqKCgQBaLRX/++acaNGig8PBwt7m//PKL7Ha77rnnHgUHB0uSunbtqpkzZ2rx4sXq0qWLLBaLmjdvrjZt2rjs27x5c02ePFlJSUnq0KGDJGnbtm3q3Lmz+vfvX2bXU7NmTV1zzTWlqhsAAAAVS1paGqF1Lyu3d87n5+fr0Ucf1csvv1yll88/cuSIJKl+/fou41usfwdtjPbtZLpykIyWLU4O/P8/csextLIt5tQvdTExUkPPDxl4w+HCAh1PK7d/WgBQITgcDi3d+LW6txoshxzKyE51/unSvL+yrRnavn+d7Ha7lv31nbq1HuwSsjnFMAyXnwd1v6u8LgEAfC7txGFJUnx0I+eYNd1PW097ALSq99JbrFbl8QAogGqGXhoAzl9RvfTpunfvrlGjRqlTp06SpEaNTs5NSUkppyq9j5XWAQAAKr42bdqosLBQ27ZtU15enrZt26Z27dq5zXM4HEpKSlKLFi3kcDiUnZ3t/NOkSRPl5eXp0KFDkuQSALfZbMrJyVF0dLQCAwOdc6STD28eOHBAmZmZZXY9Xbq43qMoSd0AAACoWNLSyjh3ADclTkPUqlVLW7du1Z49e9S6dWu37Xv27PG435tvvqm4uDhdf/31SkxMLHGhlcWpp2RPnDjhMn560MbUq6fUq+ffG3NyTv5nUFCZ1eE4clT2T6efDNgk75H9q5ky33xjmR3/XFKPmcRzwQCqk/Tso8rKTdfsVR9o9qoPPM/JOqKM7KPKsWaqYXzbYh339C+bAaCqC/QPkSTlWP/+wiAl066jIX+vDlnVe+ldeVblEloHUM3QSwPA+fPUS1vTLZL+Xkxl8ODBGjx4sPPnrKwsSVJISEj5FOllBNYBAAAqh5CQEDVu3FgbN25UQUGBHA6Hx+xJdna2rFar1q5dq7Vr13o8VnZ2tiSpoKBAv/32m9avX+8WSLeetsBgv3799N133+mNN95QrVq11KxZM3Xo0EHR0dGlvp6oqKhS1w0AAICK5dixY74uocorcRqiZ8+eWrx4sb766itdfvnlLtvS0tI0b948t31SUlL04osv6qeffip9pZVEy5YtJUlr1qyR1WpVYGCgJCnAZBS5j2P9BkmSUYYrONree1+S5PfiC7L97wPZP/9Spn/0llGrVpmd42zMZr4gAFC9OOx2SdKlnW/RZReM8DinUe32Ugm/QA2wlF0IEwAqukbxJ1fT+St5mfILrPK3BJ61j5aqXi/tZxgy0UsDqGbopQHg/Hnqpc/VVy5dulTS3/e0AQAAgPLSrl07zZo1S1lZWWratKmCPCxKcuqhxPbt26tDhw4ej1OzZk1J0pw5c7R+/Xp169ZNdevWdeY0Zs6c6fJwY9u2bdWgQQMlJSVp586dWr58uZYtW6brr79ezZo1k+T+Jrcz6zmTn5+fx3nFqRsAAAAVy5m9HcpeiT/hUaNG6dVXX9X06dN18803q2/fvpJOPrk6duxYj0+EPvXUUxowYIC6d+9+/hVXcB06dFD9+vW1d+9evf/++xo7dqwkqWVgkJJOe4L3FPtfm+VYu04ymWTqcVGZ1GBfulyOFStlumuMjLhYme++U4W/r5Ptnf/Kb/wLZXKOszEk1Yh1KHW3108FABVGRGicggPCZLfb1Ll53yLn2e12BQeGK/nwpnKsDgAqh+Z1L1B8dCMdTtutGUsm6Oa+zygqQqpn8de+gny3+VWxl24WEKjAyELlpfPeIgDVB700AJw/T710YFRhkfPXrFmjxYsXy2w264orrijHSr2nqHARAAAAKp6WLVvqhx9+0P79+3XNNdd4nBMSEiJ/f3/Z7XY1adLkrMfbvHmzOnTooP79+zvHCgoKXFZZPyUsLEwJCQlKSEhQVlaW/ve//+nXX391htYDAwM97peenl6saytJ3QAAAKhYzucNPCgeU0l3aNSokV5//XUVFBSof//+6tOnj2688UY1b95c33//vW6++WaX+Zs2bdK0adP0xBNPKD09Xenp6bJarXI4HEpPT1d+vnv4pDIzDENPP/20JOn111/XzJkzJZ0MrZ/JsTtZthfGSw6HTFdcXiYrNzpycmT770SpaROZhpx81asREyPTiFvl+H2t7L/+dt7nOJf6/v4Ki7J5/TwAUJGYTWb1aHe1lm78Wrs9hGjSs45Kkkwmky5uM1QrN/+grft+d5vHq6wBVGeGYeiOK16WJH0yP1EL1k5TYGShWvz/qjinq6q9dMvAoLOGiwCgKqKXBoDz56mXDogo8Dh3y5YtGj16tBwOh2655RY1aFB2by3yNYLrAAAAlUNAQIAGDRqk3r17q0WLFh7nmEwmtW7dWklJSUpJSXHbfvqCiiaTe/Rl9erVLvcK7Ha7Wxg9NDRUYWFhstn+zjdER0crLy9Phw8fdo6dOHFCW7ZsKda1laRuAAAAVCyE1r2vVGvZ33vvvapTp45efvllrVq1SoGBgerVq5defvllffHFFy5zd+zYofz8fHXu3NntOFFRUXr//fd11113la76CurKK6/U6tWrNXnyZN1///366aef1PnGG+QIDZLMZmn/AdkXLZb9+x+kvDwZLZrLdOcdZXJu+9RPpLQ0mZ97RobZ7Bw3XTlI9vm/yPb+BzK6XCAjOLhMzudJ68AgBUYStAFQ/dxxxcvasHORHnj7Ql1+4Wg1qNlaJ3LStP3AOv2xfYG+eT5NknTb5eO1dts8Pfr+Jbqi2xjVr9FKaZmH9OufM/TGvUsVGhTp2wsBAB+6pMN12pS8TN8tfVuvfHGrNhwbrLDrBssRF109eumgIAWaPIeLAKAqo5cGgPN3Zi+9KXOgbrv9NrVv315ms1m7du3St99+q8mTJ8tqtapjx4567rnnfF02AAAAqqmOHTuec07fvn21e/duTZo0SZ07d1ZcXJxyc3N16NAh7dq1S0888YQkqXnz5tqwYYMCAgIUFxen/fv3a9euXQoK+ntxwby8PP3nP/9R69atFR8fL39/f+3atUsHDx7UZZdd5pzXtm1bzZ8/X19++aUuvPBCFRQUaM2aNYqJidGhQ4eKdW3FrRsAAAAVS0xMjK9LqPJKFVqXpKFDh2ro0KHnnNejRw8tWrTIZWzq1KmaPXu2ZsyYoebNm5e2hArthRdeUGxsrCZMmKDZs2dr9uzZHucZPS6W+dGxMgICzvucjm3bZZ/1o0yDB8rUwvVzNcxmmR+8T7YHH5Z96icy3+O9BwVaBgbJ7O+QJaRQBdml/icGAJVOVFhNvfPAak2b/7yWbvpGP6z4r8KDY9SgZhvdMfAV57zYiDp65/5Vmvrzv7Rw3XRl52UqNryOura8XAEW7wUhAaCyuOfKNxUZWkOfzHtOP83/QZr/g8d5VbWXDgzmAVAA1Q+9NACUjVO99KfzntPsObM1e47n+9IDBw7Um2++6RLiqQoMw+DNGwAAAFVIaGioRo8erSVLligpKUlr1qxRcHCw4uLi1K9fP+e8AQMGyDAMbdy4UYWFhapXr56GDx+uTz/91DnHYrGoa9eu2rlzp5KSkuRwOBQdHa2BAweqa9euznnBwcG64YYb9PPPP2v+/PmKjIxU3759dezYsWKH1otbNwAAACqWqKgoX5dQ5RmOMr6Dm5iYqHHjxumjjz7SyJEji5wzadIk7d+/3zl2+quVqpIdO3Zo4sSJWrhw4d+/wAQHy+jQXqYhg2Xq3Mm3BXrBB/UbaUBEpPYsjtSJ/YG+LgcAAACV1OHsv/TT9pc075dfdPTU7wtVvJde16qtYswWbZlZQ7Y891faAgAAAMWRHrBe362a4HJfOiwsTBdddJFuu+029erVy8cVlp3c3Fx99tlnkiSHwyGbzebjigAAAAAAAABUNhEREbrhhht8XYbXxcfH+/T8LIPtZU2bNtWECRMkSddv3azlGRkygqp2kLvN/6/OExhVqBP7zzEZAAAAKELzVo3V984JsjkcarV+rXILCqp0L13Tz6JYP4skKTCqQNmHz38FeQAAAFRPrdo1Vo9rT96Xzs/PV2FhoYKDeSMFAAAAAAAAAHgSExPj6xKqBZ8s3ZeYmOiyynp10T48okqHbCQp3GRWXYu/JCkousDH1QAAAKAyC4oulCSZDUOtw8KqfC996uFP6eQDoAAAAEBpBUb9fW/W39+/2gTWDcPwdQkAAAAAAAAAKqHY2Fhfl1AtlHloPTExUQ6HQyNHjizrQ1d6bU8LoVRVbYOCnF8MBBJaBwAAwHk4vZ9sG1T1QzZtA//+fYEHQAEAAFB6jmr9ECTBdQAAAAAAAAAlRWi9fPhkpfXqqn01CNqcfo2WYLvMATYfVgMAAIDK7PTgdodqsDJk++AQ59+DYgitAwAAoHQCwm0y+zt8XYbPEFoHAAAAAAAAUFJxcXG+LqFaILRejhr6ByjcZPZ1GV51epjIMAjbAAAAoHQsoYXyC/w7aFMdHgDtcNo1+ofZZPK3+7AaAAAAVFbV/Z4soXUAAAAAAAAAJREeHq7AwEBfl1EtEFovR4Zh6ILTVk+sii4IDnX5OTiuen9BAgAAgNIJjnXtI5sFBFbpB0DrWfxV02Jx/mwY7p8BAAAAUBzBcfm+LsHnLKf11gAAAAAAAABwNjVr1vR1CdUGofVy1jWk6obW61n8FX/GlwEhNfiCBAAAACUXfEYfaariD4B28fB7AmEjAAAAlEZ1X0jEMAzVqFHD12UAAAAAAAAAqCTi4+N9XUK1QWi9nF0UGubrErzmotBQt7Gg2AIZZocPqgEAAEBlFhrvHtj21G9WFReHuP+e4OkzAAAAAM7GHGBTQGShr8vwOb5kAgAAAAAAAFBcderU8XUJ1Qah9XLWPihY4Sazr8vwip6h4W5jJrMUUpOwDQAAAIrPEmKTf5jNbfySMPd+s6ro4eHh1qCYApn87T6oBgAAAJVVaK18GYavq/C92rVr+7oEAAAAAAAAAJVAaGiowsOrbhahoiG0Xs78DEOXhUf4uowyF2AY+kcRIaLwetZyrgYAAACVWXg9q8egTYuAQDX0Dyj/grysY1Cwavv7u40bJim8bp4PKgIAAEBlFV6fe7GSFBkZyRdNAAAAAAAAAM6pcePGMlgJpNwQWveB66NjfF1CmbsiIlKhZs8ryEc0sMrkxwqRAAAAKJ6oJrkexw3D0HVR0eVcjfddG1X07wdRTXLKsRIAAABUZuZAm8Lq8NCjdPJ3hxYtWvi6DAAAAAAAAAAVXPPmzX1dQrVCaN0HEoJD1LeIVckro1CTSQ/ViC9yu9nfobh22eVYEQAAACqryMa5CowqLHL78Jg41bO4r0peWTUPCNS1ZwniB9coUFgdVssEAADAudXskCWT53VFqqU2bdooLCzM12UAAAAAAAAAqKCaN2+umJiqtwh1RWY4HA6Hr4uQpMOHD/u6hHJlczi0vyDf12WUiUizWRFmv3POK8g2yWHnNQoAYMs3tG95hMtYvYsyZPavEP+TDAC+Y0iWEJvO9eatXLtdRwoLyqcmL6vpZ1Gg6ezPEjvsUkE26SMAoI8GgKIZZocswdXzbZe5ubn67LPPXMZuuukmBQUFqaCgQLm5nt/kBAAAAAAAAKB6CwsLk3GugEIVEx9f9ALV5eHcSWN4hdkw1MA/wNdllCtLSPX80gQAzmTLM9xWPvMPtckcQNgGAIojyGSqVr20YZL8w2y+LgMAfI4+GgBQUhaLRRaLxddlAAAAAAAAAAAknX1JPwAAAAAAAAAAAAAAAAAAAAAAzgOhdQAAAAAAAAAAAAAAAAAAAACA1/j5uoBT4uPjfV0CAADlosAq7T/jzdQ1ataUJdA39QAAAACVAX00AMCTnJwchYaGuozVrFlTwcHBPqoIAAAAAAAAAOAJK60DAAAAAAAAAAAAAAAAAAAAALyG0DoAAAAAAAAAAAAAAAAAAAAAwGsIrQMAAAAAAAAAAAAAAAAAAAAAvIbQOgAAAAAAAAAAAAAAAAAAAADAawitAwAAAAAAAAAAAAAAAAAAAAC8htA6AAAAAAAAAAAAAAAAAAAAAMBrCK0DAAAAAAAAAAAAAAAAAAAAALyG0DoAAAAAAAAAAAAAAAAAAAAAwGsIrQMAAAAAAAAAAAAAAAAAAAAAvIbQOgAAAAAAAAAAAAAAAAAAAADAa/x8XQAAAAAAAAAAAEBpOBwOFRQUuI0BAAAAAAAAACoWQusAAAAAAAAAAKBSys3N1dq1a93GQkJCfFQRAAAAAAAAAMATk68LAAAAAAAAAAAAAAAAAAAAAABUXYTWAQAAAAAAAAAAAAAAAAAAAABeQ2gdpTJ16lQZhuH84+fnpzp16mjkyJE6cOCAr8sDAAAAKix6aQAAAKB0PPXS7dq108qVK5WTk+Pr8gAAAAAAAAAAZ+Hn6wJQuT3//PNq1KiRrFarVq5cqalTp2rp0qXatGmTAgMDfV0eAAAAUGHRSwMAAAClc3ovvXTpUn366ac6ceKEHnnkEVksFgUFBfm6RAAAAAAAAADAGQit47xcfvnl6tKliyTpjjvuUGxsrF555RXNmjVL1113nY+rAwAAACouemkAAACgdE7vpW+66Sbt379fv/zyi7Zu3apOnTrJMAwfVwgAAAAAAAAAOJPJ1wWgaunZs6ckaefOnT6uBAAAAKhc6KUBAACA0mncuLEkKTU11ceVAAAAAAAAAACKQmgdZSo5OVmSFBUV5dtCAAAAgEqGXhoAAAAonbS0NElScHCwjysBAAAAAAAAABTFz9cFoHLLyMhQamqqrFarVq1apXHjxikgIECDBg3ydWkAAABAhUYvDQAAAJTO6b30r7/+qp9//ll+fn5q06aNr0sDAAAAAAAAABSB0DrOS9++fV1+btiwoaZNm6a6dev6qCIAAACgcqCXBgAAAErnzF46Ojpat9xyiyIjI31TEAAAAAAAAADgnAit47y89957at68uTIyMjRlyhT9+uuvCggI8HVZAAAAQIVHLw0AAACUzum99IcffqjFixfLz4+vOwAAAAAAAACgIuMuLs5LQkKCunTpIkkaOnSoevTooZtuuklbt25VaGioj6sDAAAAKi56aQAAAKB0Tu+lL7vsMrVr106ffvqpnnrqKR4EBQAAAAAAAIAKyuTrAlB1mM1mvfTSSzp48KDeffdd5/iQIUMUGhqq0NBQhYSEyDAMrVixwoeVAgAAABULvTQAAABQOmazWYMGDVJGRoZ+++035zi9NAAAAAAAAABULITWUaZ69+6thIQEvfnmm7JarZKk77//XllZWcrKytLIkSM1bNgwJSQk+LhSAAAAoGKhlwYAAABKp1mzZqpfv76WLFmigoICSfTSAAAAAAAAAFDREFpHmXvssceUkpKiqVOnuo0nJyfr888/l9ls9k1xAAAAQAVGLw0AAACUzj/+8Q+dOHFCq1evdhmnlwYAAAAAAACAioHQOsrcsGHD1KRJE02YMEE2m02SlJiYqLVr1+rrr7+Wv7+/jysEAAAAKiZ6aQAAAKB02rdvr9jYWC1atIheGgAAAAAAAAAqIMPhcDh8XQSqtgkTJuibb77RvHnzFBoa6utyAMDnCqzSuhmuY52vlSyBvqkHAFBx0UsDwN/oowEAnuTk5OjDDz90GRs9erT++9//0ksDAAAAAAAAQAXi5+sCTjl8+LCvS4AXfPzxx5o+fbpmzpyprKwsZWVl+bokAPA5W56hgoJol7EjKWkyB/AcGQDgb/TSAOCKPhoA4Elubq5br/z6669rxowZ9NIAAAAAAAAAcJr4+Hifnr/ChNZRNY0fP155eXnq1KmTc+ybb75Rhw4dfFgVAAAAUPHRSwMAAACl89prryk/P59eGgAAAAAAAAAqEELr8KqtW7f6ugQAAACgUqKXBgAAAEpnw4YNCgoK8nUZAAAAAAAAAIDTEFpHubDlG8rYGyiH3deVAIDvOQoNFVpNLmPHdwbJ8HP4qCIAqBgMSWF182QJPnvT6HcwQ+YjWeVTlJcV1gqXrWbYWefkZ5l14qB/OVUEABUXfTQAFM1kliIa5Mp0tjv+DocsO1Jlys4vt7q8xpDym8TKERpw1mkpKSlKTU0tp6IAAAAAAAAAVBaGYahBgwYKCQnxdSnVCqF1lIuDq8OVkczKNgBQlMPrwn1dAgBUCIHbC9TkimMyDM/bTcdzFP7Vehm2qvE0pN3frPRRFxYZtrHbpOQFUcrP4lc3APCEPhoA/pZ7zE+1E04Uud1/6xGFzd5cjhV5V+GfB5VxS5cit6enp+uHH36QzWYrx6oAAAAAAAAAVBZJSUkaNmyYjKICCihzpnNPAc5P3gmzMpIDfV0GAAAAKgHrcYuyDhS9WmLQ7/uqTGBdkkz5NgX+sb/I7Rl7AgmsAwAAoFiO7whWYW4Rt/wdDgWt2lO+BXmZ35EsWXYfK3L7n3/+SWAdAAAAAAAAQJFSU1O1b98+X5dRrRBah9edDKzzJAoAAACKJ72oBx5tdvlvO1K+xZSDgC1HJIfD47aM3bytCAAAAMXjsBvK2Ov5AVBzarb8UrPLuSLvC0jy/PuBzWbTrl27yrkaAAAAAAAAAJXN9u3bfV1CtUJoHV6XuY9V1gEAAFB8Jw4EyOFhMXW/AxkyWQvLvyAvM2daZT6a5TZuKzCUddjfBxUBAACgsjqx3/O9WP8dR8u5kvJh2ZUq2d0fAD1y5Ijy8vJ8UBEAAAAAAACAymTv3r2y26vO294rOkLr8KrCPEPWND9flwEAAIBKxF5gUu4xi9u4/540H1RTPix7jruNZaf4Sw7eWAQAAIDiyz7iL7vNfdxTv1kVmPJt8k9xfwD04MGDPqgGAAAAAAAAQGWTn5+vI0eq3hvfKypC6/CqnCP+kgjaAAAAoGSyU9xXGPfbl17+hZQTy/50tzFPnwEAAABwNg6bodzUMx4ALbDJ71CmbwoqBwEH3a8tJSXFB5UAAAAAAAAAqIwOHTrk6xKqDULr8KqToXUAAACgZHKOegjapJzwTTHlwO9ghuRwuIy5fQYAAABAMeQcdb0n65dyQobdUcTsys//sOvvCQ6HQ2lpVfctTQAAAAAAAADK1uHDh31dQrVBaB1elXPmqj4AAABAMeQc9XfJcPsdyarSQRuTtVCmtBznz3abZE2jlwYAAEDJnXlP1u9gho8qKR/+KVnSGb8q2O123xQDAAAAAAAAoNI5cuSIHI6qm0eoSAitw2scdik3zc/XZQAAAKASsuWbVJBtdv7sl5Lpw2rKx+kryeel+8lhN3xYDQAAACqr3GNnhNar8BuLJMlsLVSE/e/70Hy5BAAAAAAAAKAkrFarsrKyfF1GtUCiGF6Tl+knh82kVUmzlfjxVSq0FXicN/81vkQAAACAu9xjFvmH2iRJfofLJ2hzLPeELp/xkq5qnqAnuw0tl3Oe4nf4hPJbx0v6O2hELw0AAICSKsw1qyDHJEvwydXGyyu07steOt4WoAxzoaS/Q+vbtm3TF198UeSq64mJieVVHgAAAAAAAIAK7siRIwoLC/N1GVVeqVdanzVrlrp3767g4GDFxMTo6quv1rZt25SYmCjDMDR16tQyLBOV0alV1ldvmVtkyAYAAAAoyulv7TEfKZ+nmmdsWamrW1yoJ7sN1YjZ7ynsjRHalnbIbd6rq2bJf8JNmr1zXZmd2+/I32Gi3LSToXV6aQAAAJSG9f/7ScNaIHOGtVzO6cteuobN3/n3U6H17du3FxlYBwAAQPn6448/lJiYqMTERO3Zs8dtu8Ph0H/+8x8lJiZq+vTpPqgQAAAA1V1qaqqvS6gWSrXS+sSJE3X33XfLMAz17NlTtWrV0sqVK5WQkKDBgweXdY2oBDZu3KgmTZooODjYOXbqi5Ez3dz3X7qqxwPlVRoAAAAqKWc/WWCTOS2nXM75xZZl+mTgfZKk13rfop92r9d98ydr3vXPOOfsTj+iF1d8o6uaJWhgk87nfc4/UpLVPCpeQUfNksMhGYasxz3/qkYvDQAAgOLIPe6nsLp55fbwp+TbXrqmX4CkvwPrnvTq1UsXXnjheZ8TAAAApefn56eNGzeqQYMGLuPJycnKzMyU2Wz2UWUAAACo7o4dO+brEqqFEq+0vmfPHo0dO1YWi0Vz587VkiVL9MUXX2j79u0aNGiQpk2b5o06UYHt27dP119/vW644QZlZ2c7x88M2sRF1JUkff7Li9q8Z4UiQmIVERJbrrUCQGWWm5997kkAUIWc6ifNx7JlnCV8UlZ2pqfIYvJT/fCTPWqNkAiN73WjFu/brE82/eqc98CCj2QxmfWffww/73PuyTiqK2aO18CvX1ZOVrZMGVY57JI13fUBUHppADg/9NIAqhvr8ZP9pN/R8gmt+7qXDs4tekX18PBwSdJvv/2m/fv3KyQkRCEhIed9fgAAAJRcs2bNtHnzZtlsNpfxjRs3qlatWgoNDfVRZWUjPz/f1yUAAACglAitl48Sr7Q+ZcoUWa1WDR8+XP3793eOWywWvfXWW/r222+Vk+O6CuLUqVM1atQot2MtWrRIvXv3LnnVqFCef/55HT9+XEFBQQoIOLWijXvQZkDC7crITtWs5e/pnW/v1QXN+snfEuiLkgHAa1IzDmjqz//SqqTZys5NV+3Yprqm1yMakHCb27yPf35Wq7fO1YnsY4oJr60uLQboniFvyeLnr0/mJerT+eM06dG/NH3Bv7Vm61zVjGqoiWP/8NGVAUD5K7SaVWg1KaCcgjafbV6qG1td7DJ2W7s++vSvX/XEkuka2KSTFuzZqJ+TN+iNf4xQnbDo8z7nP5dM17HcLAX7BSjQzyL70SzlGqFy2AyXefTSAKoDemkAKDvOB0CrSS8daw5SkN2kbBW6zevUqZNycnK0Zs0azZ49W40bN5bF4vktoQAAAPCutm3bKikpSbt27VKzZs0kSYWFhdq8ebN69eqlVatWue2TmZmphQsXavv27bJarYqOjlb37t3VufPfb+5JT0/X0qVLtXv3bmVkZMhisahRo0bq16+foqKinPPy8vK0cOFCbdmyRVlZWQoICFB8fLz69u2r2rVrS5K+/fZbJScna+zYsS51LFq0SEuWLFFiYqLLz/fcc49+/fVX7dixQ5GRkbrrrruKXTcAAAAqjpycHOXm5iooKMjXpVRpJQ6t//bbb5KkG264wW1bTEyMLrvsMn333Xce9126dKnL65xat25d0tOjgklNTdWcOXNkMpn06quvys/v5D+pwlyTbHnuC/nfOWiCVmyepaPp+7QqabZ6tr+6vEsGAK85fiJFD7zTTTIMDbnoPkWExmnNlrl6fcbtysnL1LCeD0mSUjMO6r63E5Sdm64ruo1RvbiWSs08oN/+nKm8ghxZ/Pydx3zh02tVJ7aZbhswXg55f5VhAKhorMf9FH607FfHLbTb5GdyfdXst9tWa9GNz7mMGYah9/rdoYRPntR986do2YGtuqBmY93dqd9513AkO0PfbV8jk2Ho3X63yc9klt/RLFn9PQdo6KUBVGX00gBQtvJPmGUvNOSXWn166Rq2AO0yFXicf9lll2nr1q3KzMzU9u3b+W4CAADARyIjI1WvXj1t3LjRGVrfsWOH8vLy1LZtW7fQelZWliZNmiRJSkhIUHBwsHbs2KFZs2YpLy9P3bt3lyQdOHBA+/btU9u2bRUeHq709HStWbNGU6dO1b333it//5P3C3788Udt3rxZCQkJiouLU05Ojvbu3avU1FRnaL2kZsyYoejoaF166aVy/P8bQ4tbNwAAACqWY8eOqW7dur4uo0orcWj94MGDkqQGDRp43N6wYcMi973wwgudoWZUDStXrpTdblfnzp1d/k1Y0z3/9+xvCdQl7a/TzF9f14ZdiwnaAKhSpvz0tGwOmz4cu1HhITGSpMHd79KL02/UJ/MSNbDbnQqwBGnK3Cd1/MRhvX3/KrWo18W5/8j+zztvZp3SuFYHPXXzZ+V6HQBQkVjT/eSXWnarQ248ulevrpqlX/Zs1LbRbynU/+Rq5asOblfz6FqKCAh226dNbF2N7TpQr66aJbNh0vfDHpPJcH9As6R+279FdodDCbWaqnFkTUmSOTVb1mB6aQDVD700AJQ1Q9Y0s8zHyi60XtF76Tibv3YVcWiLxaI2bdpoxYoVSk5OJrQOAADgQ+3atdOCBQtUUFAgi8WiP//8Uw0aNFB4eLjb3F9++UV2u1333HOPgoNP9ptdu3bVzJkztXjxYnXp0kUWi0XNmzdXmzZtXPZt3ry5Jk+erKSkJHXo0EGStG3bNnXu3Fn9+/cvs+upWbOmrrnmmlLVDQAAgIolLS2N0LqXnf/dYVRrR44ckSTVr1/fZfzU62clqX3jS3TlRfeqRb0ESVKd2JNPTKdlHiqnKgHA+xwOh5Zu/FrdWw2WQw5lZKc6/3Rp3l/Z1gxt379Odrtdy/76Tt1aD3YJ2ZxiGIbLz4O631VelwAAFZL1uFnmMlxpPTIgRA9ecLmO5Wbpu+1rnOOfbV6qm1v3LHK/2KAwSVLt0Ci1ia1XJrWkZKdLkhpGxDnH/FKzXB4ApZcGUB3QSwOAd9gO5MkotJfZ8Sp6Lx1jt7g8wNSwYUN17dpVderUObk95uRDUSdOnCiTGgAAAFA6bdq0UWFhobZt26a8vDxt27ZN7dq1c5vncDiUlJSkFi1ayOFwKDs72/mnSZMmysvL06FDJ++Tnh4At9lsysnJUXR0tAIDA51zJCkwMFAHDhxQZmZmmV1Ply6u9yhKUjcAAAAqlrS0NF+XUOWVeNnzWrVqaevWrdqzZ4/H1Uj27NlT5L516tTRsWPH1Lp1az377LNuT5ui8jn1VPCZN/rzMv7+pfCSDtfqkg7XOn/OyTv5C2Cgf2g5VAgA5SM9+6iyctM1e9UHmr3qA89zso4oI/uocqyZahjftljHjY9uVJZlAkClY0u1y2QtKLPj1QuPUb3wGPWo20JfJi3XLW16qsBWqF/2btKEPrd63Gdf5jE9v+xrtYmtp79S92nC6h/0VPerzruWEEuAJOlEXq5zzHQ8V3mnhdbppQFUB/TSAOAdpsM5ZXq8it5Lh9rMLnPatGnjstpmXl6eJMnf3/+8zw8AAIDSCwkJUePGjbVx40YVFBTI4XB4zJ5kZ2fLarVq7dq1Wrt2rcdjZWefXPCkoKBAv/32m9avX+8WSLdarc6/9+vXT999953eeOMN1apVS82aNVOHDh0UHR1d6uuJiooqdd0AAACoWAite1+JQ+s9e/bU4sWL9dVXX+nyyy932ZaWlqZ58+a57VOrVi29+OKLuvDCC5Wbm6vJkyfr2muv1XfffachQ4aUvnr4XMuWLSVJa9askdVqVWDgyVfCmixFr+CzfsdCSVKjYn7JDACVgcN+8v/vXdr5Fl12wQiPcxrVbi+dtuJXcQRYgs67NgCo1AJNckgyzjmxZG5odbEe/GWqjuZkatWh7epTr40sZs+/Hj34y1RJ0g9XP67HFk3Ty6u+0w2tLlLjyJrnVUPbuJNvK1p+cJushfkK9POXLGaZ/Iv+3wp6aQBVEb00AHiHI9B87kmlUFF7abtx9v+d2L17tySpRo0a53VuAAAAnL927dpp1qxZysrKUtOmTRUU5P47/Km36LRv314dOnTweJyaNU/2lXPmzNH69evVrVs31a1b15lbmDlzpsvbeNq2basGDRooKSlJO3fu1PLly7Vs2TJdf/31atbs5Fsuz3yT25n1nMnPz8/jvOLUDQAAgIolICDA1yVUeSUOrY8aNUqvvvqqpk+frptvvll9+/aVdPLJ1bFjx3p8IrR///7q37+/8+dBgwapZ8+eGj9+PKH1Sq5Dhw6qX7++9u7dq/fff19jx46VJAVGFnqc/1fycv2+7WeZTGb1aDesPEsFAK+KCI1TcECY7HabOjfvW+Q8u92u4MBwJR/eVI7VAUDl5R8t2SODZE7PPffkEri6+YV66JepmrFlhX7bv0UPdrnc47zvtq/RjzvXakKfW1U3LEav/2O45if/qQcXTNUP1/zzvGroXLORGkXEaXfGUf1nzWw91f0qFcYEKzCyUNY0i9t8emkAVRW9NAB4SZ1gaV3ZH7ai9tLpZs/3pCVp79692rFjhwzDUKtWrc7r3AAAADh/LVu21A8//KD9+/frmmuu8TgnJCRE/v7+stvtatKkyVmPt3nzZnXo0MEll1JQUOCyyvopYWFhSkhIUEJCgrKysvS///1Pv/76qzO0HhgY6HG/9PT0Yl1bSeoGAABAxXI+b+BB8ZhKukOjRo30+uuvq6CgQP3791efPn104403qnnz5vr+++918803F+s4Q4YM0fr160t6elQwhmHo6aefliS9/vrrmjlzpiQpMMr9C4Ldhzfp+U+vkcPh0MALx6hWTONyrRUAvMlsMqtHu6u1dOPX2u0hRJOedVSSZDKZdHGboVq5+Qdt3fe727yiVmkAgOoqMKpQhbEhZX7c6KBQ9WvYXlM2LtaWtIPqVru525wT+bl6eOHH6lijoe7tdPLLjtqhUUrsca1+Tt6gmVtXnlcNhmHo3z1vlCS9sPxrTd+8VLbYUAVGFrjNpZcGUJXRSwOAd1jizbIHuz8Meb4qai991JTvcVXMlJQUffXVV5KkCy64gC+eAAAAKoCAgAANGjRIvXv3VosWLTzOMZlMat26tZKSkpSSkuK2/fQFFU0m9+jL6tWrXe4V2O12tzB6aGiowsLCZLPZnGPR0dHKy8vT4cOHnWMnTpzQli1binVtJakbAAAAFQv3Dr2vxCutS9K9996rOnXq6OWXX9aqVasUGBioXr166eWXX9YXX3xR1jWigrvyyiu1evVqTZ48Wffff79++uknjRxxu/ytl8pstmj/0W1a+Mdn+n7ZO8oryFWLel115+DXfV02AJS5O654WRt2LtIDb1+oyy8crQY1W+tETpq2H1inP7Yv0DfPp0mSbrt8vNZum6dH379EV3Qbo/o1Wikt85B+/XOG3rh3qUKDIn17IQBQgQRGFsgWFyrtSC3zY9/Q6mINn/2ununuedXy55Z+pYNZx/XVlWNlPu1Lj7s7XqZP//pVjy76VP0bdVCYv/ura4vr2pbdtOLgVr277meNmvNffZuxRdeNfEhh1t4ym/3opQFUG/TSAFC2DLNd/qE2FcaGyn/v8TI/fkXspTvvbqcO3booPj5eJpNJx44d08aNG7Vq1SoVFhaqdu3aLitvAgAAwLc6dux4zjl9+/bV7t27NWnSJHXu3FlxcXHKzc3VoUOHtGvXLj3xxBOSpObNm2vDhg0KCAhQXFyc9u/fr127diko6O9+My8vT//5z3/UunVrxcfHy9/fX7t27dLBgwd12WWXOee1bdtW8+fP15dffqkLL7xQBQUFWrNmjWJiYnTo0KFiXVtx6wYAAEDFEhMT4+sSqrxShdYlaejQoRo6dGip9nU4HPr222/VqVOn0p4eFcwLL7yg2NhYTZgwQbNnz9bs2bM9zuvZ7mo9et1HCrCU/ssIAKioosJq6p0HVmva/Oe1dNM3+mHFfxUeHKMGNdvojoGvOOfFRtTRO/ev0tSf/6WF66YrOy9TseF11LXl5QqwBPvwCgCggjEcCogsPBla94Irm16gUEugbmrdw23busO79P4f83VXx37qUsv1Fa5mk0nv9b1dPT57Vs8t/Ur/+ceI86rj9T7DFRccoeeXzdSsZQs1a9lCj/PopQFUZfTSAFC2AiMLZZh0spf2Qmi9IvbS65I2al3SRo/zWrVqpaFDh8piKfuV5wEAAOA9oaGhGj16tJYsWaKkpCStWbNGwcHBiouLU79+/ZzzBgwYIMMwtHHjRhUWFqpevXoaPny4Pv30U+cci8Wirl27aufOnUpKSpLD4VB0dLQGDhyorl27OucFBwfrhhtu0M8//6z58+crMjJSffv21bFjx4odWi9u3QAAAKg4DMNQZGSkr8uo8gxHGb87OTExUePGjdNHH32kkSNHSpKuueYaJSQkqH379srLy9OkSZM0e/ZszZo1S4MGDZIkl1crofLasWOHJk6cqIULFzp/YQsODFfHJn005KL71Ll5Xx9XCAAAgMoiIKJQzQanypSeq6jJK71yjtWHdiihVlOvHLuktqYd1Cs5a/XLksX00gAAADgvUU1zVKdbpgL+OqTQn7Z45RwVqZdeeXyPHt7wtbZt26bMzExJUkBAgBo2bKiEhAQ1adLkHEcAAAAAAAAAUJ1FRUXpuuuu83UZXhcfH+/T85d6pfWSaN68uSZNmqT9+/dLkjp16qQff/xRV1xxRXmcHuWoadOmmjBhgiTpwDqLDq4PVJB/iI+rAgAAQGUUGFUgSbJHBMrub5Yp31bm56goIRtJatqwsV4bfbMkafvPIUo/YKKXBgAAQKmc6qULa4R57RwVqZcOrxGtoUOHyuFwKC8vT3a7Xf7+/r4uCwAAAAAAAEAlERMT4+sSqoVyCa2PHz9e48ePL49ToQIJq0HIBgAAAKV3Kmgjw5AtLlSmAxm+LcjLbHGhzr+H1TCUd5ReGgAAAKUTFF0oSbJFB8thNmTYyvSFqxVOijlf0slX+Pr5lcvXHgAAAAAAAACqkNjYWF+XUC2YyvqAiYmJcjgcGjlyZFkfGpVMUHSBr0sAAABAJXYqaCNJhTW9t0JkRVFY8+/QOr00AAAASs1wKDDq/3tps0m22NCzz68CUsx5zr8bhuHDSgAAAAAAAABURoTWy0eZh9aBUyzBdvkF2XxdBgAAACqpoJi/g9uF8dUgtB4f7vx7UEzhWWYCAAAARQuIKJTJ7++V1atDL33Yj9A6AAAAAAAAgNIjtF4+CK3Dq4JiWSESAAAAJecfViiz/2lBm5rhZ5ldNZy+mrwlxCZzAA+AAgAAoOROf/hTcn04sioqiAxUvvH37w6E1gEAAAAAAACURGRkpAICAnxdRrVAaB1eFRyb7+sSAAAAUAkF13DtI+1RQbIHWXxUjffZooLkCPZ3/mwYUnAcD4ACAACg5M7sIwtqR/iokvKR72Eleb5gAgAAAAAAAFBcNWvW9HUJ1QahdXhVSA2CNgAAACg5t8C2YaiwCodtPAWJguN4ABQAAAAlFxJXvR4AzTsjtG4YhmrUqOGjagAAAAAAAABUNvHx8b4uodogtA6vCoopkMli93UZAAAAqGRC490D2wX1o3xQSfkoaOB+bZ4+AwAAAOBs/IJs8g+3uQ4ahgrqVd1eOq9uuNsYXzIBAAAAAAAAKK46der4uoRqg9A6vMowSSE1CdsAAACg+PzDCuUfanMbz28Y7YNqvM8hqaC++7UFRhfKHOD+OQAAAABFCa2dJ8NwHy+oor20LSpItvBAt/HatWv7oBoAAAAAAAAAlU1ERITCwsLOPRFlgtA6vC68vtXXJQAAAKASKap/tEcHqzA2pJyr8b7CuhFyhPi7jRuGFF4/zwcVAQAAoLKKKKKXzm8SI4enNHsll9e8hsfxiIgIRUVV3dXlAQAAAAAAAJSNxo0b+7qEaoXQOrwuon6ezP52X5cBAACASsGhqCa5RW7Na1erHGspH9Z2Ra8CGd00pxwrAQAAQGVmCbYptJbnt146gv2V3yy2nCvyLoekvDbxRW5v2bJl+RUDAAAAAAAAoFJq0aKFr0uoVgitw+tMfg7V7HRCMhy+LgUAAAAVXEyrHAWE24rcbm1XW4VxoeVYkXcV1IlQfgvPq0NKUlBMoSKbEFwHAADAORgOxV+QKeMsd/xzLm4se6Bf+dXkZdYu9WSPCi5ye6tWrRQTE1OOFQEAAAAAAACoTNq3b6+IiAhfl1GtGA6Ho0IkiQ8fPuzrEuBldpskR9V7BS0AAADKikOm4mRoHA6psIq8ycfPJBnn7pHthfTRAAAAOAvDIZO5GPNsdsleIb4SOH+Wkxecm5urzz77zGXTTTfdpKCgIDkcDhUWFvqiOgAAAAAAAAAVnMVi8XUJ5S4+vui3V5aHqrOsCiq8k1+aVJEvRAAAAOA7huEMqFQXJj/6aAAAAJQBs0mqRq20YRjV8osnAAAAAAAAAKiIzvKyUAAAAAAAAAAAAAAAAAAAAAAAzg+hdQAAAAAAAAAAAAAAAAAAAACA1/j5uoBT4uPjfV0CAAAAAAAAAACoRHJychQaGuoyVrNmTQUHB/uoIgAAAAAAAACAJ6y0DgAAAAAAAAAAAAAAAAAAAADwGkLrAAAAAAAAAAAAAAAAAAAAAACvIbQOAAAAAAAAAAAAAAAAAAAAAPAaQusAAAAAAAAAAAAAAAAAAAAAAK8htA4AAAAAAAAAAAAAAAAAAAAA8BpC6wAAAAAAAAAAAAAAAAAAAAAAryG0DgAAAAAAAAAAAAAAAAAAAADwGkLrAAAAAAAAAAAAAAAAAAAAAACvIbQOAAAAAAAAAAAAAAAAAAAAAPAaQusAAAAAAAAAAAAAAAAAAAAAAK8htA4AAAAAAAAAAAAAAAAAAAAA8BpC6wAAAAAAAAAAAAAAAAAAAAAAryG0DgAAAAAAAAAAAAAAAAAAAADwGkLrAAAAAAAAAAAAAAAAAAAAAACvIbQOAAAAAAAAAAAAAAAAAAAAAPAaw+FwOHxdBAAAAAAAAAAAQEk5HA7l5ua6jAUFBckwDB9VBAAAAAAAAADwhNA6AAAAAAAAAAAAAAAAAAAAAMBrTL4uAAAAAAAAAAAAAAAAAAAAAABQdRFaBwAAAAAAAAAAAAAAAAAAAAB4DaF1AAAAAAAAAAAAAAAAAAAAAIDXEFoHAAAAAAAAAAAAAAAAAAAAAHgNoXUAAAAAAAAAAAAAAAAAAAAAgNcQWgcAAAAAAAAAAAAAAAAAAAAAeA2hdQAAAAAAAAAAAAAAAAAAAACA1xBaBwAAAAAAAAAAAAAAAAAAAAB4DaF1AAAAAAAAAAAAAAAAAAAAAIDXEFoHAAAAAAAAAAAAAAAAAAAAAHgNoXUAAAAAAAAAAAAAAAAAAAAAgNcQWgcAAAAAAAAAAAAAAAAAAAAAeA2hdQAAAAAAAAAAAAAAAAAAAACA1xBaBwAAAAAAAAAAAAAAAAAAAAB4DaF1AAAAAAAAAAAAAAAAAAAAAIDXEFoHAAAAAAAAAAAAAAAAAAAAAHgNoXUAAAAAAAAAAAAAAAAAAAAAgNcQWgcAAAAAAAAAAAAAAAAAAAAAeA2hdQAAAAAAAAAAAAAAAAAAAACA1xBaBwAAAAAAAAAAAAAAAAAAAAB4DaF1AAAAAAAAAAAAAAAAAAAAAIDXEFoHAAAAAAAAAAAAAAAAAAAAAHgNoXUAAAAAAAAAAAAAAAAAAAAAgNcQWgcAAAAAAAAAAAAAAAAAAAAAeA2hdQAAAAAAAAAAAAAAAAAAAACA1xBaBwAAAAAAAAAAAAAAAAAAAAB4DaF1AAAAAAAAAAAAAAAAAAAAAIDXEFoHAAAAAAAAAAAAAAAAAAAAAHgNoXUAAAAAAAAAAAAAAAAAAAAAgNcQWgcAAAAAAAAAAAAAAAAAAAAAeA2hdQAAAAAAAAAAAAAAAAAAAACA1xBaBwAAAAAAAAAAAAAAAAAAAAB4jZ+vC5Akh8OhEydO+LoMAAAAAAAAAAAAAAAAAAAAAKiSwsLCZBiGT85dIULrJ06cUEREhK/LAAAAAAAAAAAAAAAAAAAAAIAq6ciRI4qLi/PJuStEaD0sLEwZGRm+LsNrMjMzVa9ePe3bt0/h4eG+LgcAAMAr6HkAAEB1Qd8DAACqA3oeAABQXdD3AACA6uBUz+Pv7++zGipEaN0wjGrR9IWHh1eL6wQAANUbPQ8AAKgu6HsAAEB1QM8DAACqC/oeAABQHRiG4bNzm3x2ZgAAAAAAAAAAAAAAAAAAAABAlUdoHQAAAAAAAAAAAAAAAAAAAADgNYTWy0FAQICee+45BQQE+LoUAAAAr6HnAQAA1QV9DwAAqA7oeQAAQHVB3wMAAKqDitDzGA6Hw+GzswMAAAAAAAAAAAAAAAAAAAAAqjRWWgcAAAAAAAAAAAAAAAAAAAAAeA2hdQAAAAAAAAAAAAAAAAAAAACA1xBaBwAAAAAAAAAAAAAAAAAAAAB4DaF1L7Lb7XrjjTfUsmVLBQYGql69enrkkUeUnZ3t69IAAAAkSS+99JKuvfZaNW7cWIZhqGHDhkXOnT9/vu666y517dpVgYGBMgxDixcvLtZ5/vzzT1ksFhmGoZkzZ7psO378uN566y1ddtllqlevnoKCgtSiRQuNGTNG+/btO4+rAwAAkLZt26Znn31W3bp1U1xcnMLCwtSxY0e9+OKLLvdoHA6Hpk2bphtuuEFNmzZVcHCw6tevryuvvFKrVq3yeOysrCyNHz9e7dq1U1hYmGJjY3XRRRdp6tSpcjgcLnNHjhwpwzA8/jmzPwIAACiNrVu36uabb1arVq0UERGh4OBgtWzZUg8//LAOHTp01n3ff/99Z2+Smprqsq24/dQpRfU8p/68+OKLZXrdAAAAOTk5zu+67rvvPpdtiYmJRfYlEyZMKPZcwzBksVjczr1161YNHTpUUVFRCgkJUc+ePbVw4UKvXi8AAKg+iupLQkNDizWvqPsxxc0LWa1WffjhhxoyZIgaNmyooKAgNW7cWDfeeKOSkpJKfD1+Jd4DxTZ27Fi9/fbbuuqqq/TII48oKSlJb7/9tv744w8tWLBAJhPPDAAAAN966qmnFB0drc6dOys9Pf2sc6dPn67PPvtMbdu2VatWrbR+/fpincNut2v06NEKDAxUVlaW2/ZVq1bpkUce0aWXXqr77rtPsbGx2rRpk/73v//pq6++0vLly9W6detSXB0AAIA0ZcoUvffee7ryyit18803y2KxaNGiRXrmmWf01VdfaeXKlQoKClJeXp5uvfVWdezYUTfccIMaNWqkQ4cOaeLEierevbs++eQT3XLLLc7j2u12XX755Vq+fLlGjBih+++/Xzk5Ofr88881atQoJSUl6ZVXXnGr59NPP3UbS0hI8OpnAAAAqof9+/fr0KFDuuqqq1S3bl35+flp48aN+uCDD/TFF19o/fr1qlGjhtt+Bw8e1BNPPKHQ0FCP926K20+d4qnfkU6GwHbu3KnBgweX3UUDAABIevbZZ3X06NGzznnjjTcUGxvrMnbBBRe4/Dxs2DA1bdrUbd8///xTr732mlsfs3PnTl100UXy8/PT448/roiICH344Yfq37+/5s6dq759+5byigAAAP7Ws2dPjRkzxmXszIfpSno/prh5oeTkZI0ZM0Y9evTQ7bffrtq1a2vXrl16//339c033+inn35Snz59in0thuPMZZ9QJv766y+1a9dOV111lb7++mvn+DvvvKMHHnhA06dP10033eTDCgEAAKRdu3apcePGkqS2bdsqKytLycnJHuceOHBAsbGxCggI0IQJE/TYY49p0aJF6t2791nP8dZbb+npp5/W448/rueee04zZszQNddc49yenJwsm82mJk2auOy3YMEC9evXT1dffTWrjwIAgFL7/fff1axZM0VERLiMP/PMM3rxxRf1zjvv6L777lNhYaGWLVumSy65xGVeSkqK2rRpI7PZrEOHDjkXIVixYoUuuugiPfTQQ3rjjTec8/Pz89WyZUulpaW53OQbOXKkPv74Y7cV2AEAALxtxowZuu666/TKK6/o8ccfd9t+1VVXac+ePWrTpo2mTZumo0ePugS6ittPnc3+/fvVoEEDde7cWWvWrCmbCwMAAJC0bt06JSQk6NVXX9Ujjzyie++9V++++65ze2JiosaNG6fdu3ef9Y3DZ3PnnXfqgw8+0I8//qiBAwc6x6+77jp9/fXXWrt2rTp27Cjp5Jv52rRpo8DAQG3ZskWGYZzP5QEAgGrOMAyNGDFCU6dOLfG+Z7sfU9y80LFjx7Rv3z5nr3PK5s2b1alTJ7Vr106///57sWtiqW8v+fzzz+VwOPTQQw+5jI8ePVrBwcGaNm2abwoDAAA4zakGtDjq1KmjgICAEh1/3759euaZZ5SYmKj69et7nNOwYUO3wLok9e3bV9HR0dq0aVOJzgkAAHC6Ll26uAWsJOn666+XJGev4efn5xZYl6SaNWvqkksu0ZEjR3TkyBHneGZmpiSpdu3aLvP9/f0VGxurkJAQj/U4HA5lZmbKbreX7oIAAABKqEGDBpKk48ePu2379ttvNWvWLE2cOFFms9nj/sXtp87mo48+kt1u1x133FGS0gEAAM7KZrNp9OjRGjBggIYNG3bO+ZmZmSosLCzRObKzs/XFF1+obt26GjBggMv4rFmz1Lt3b5cQV2hoqO644w5t27aNh/UAAECZyc/P9/iGvLM52/2Y4uaFYmJi3ALrktS6dWu1bdu2xJkeQutesmbNGplMJrfXOwcGBqpjx440pgAAoFq4++671bhxY7cH+YojIyNDJ06cUM2aNcu+MAAAUO3t379fkorVa+zfv1/+/v6KjIx0jiUkJCgyMlKvvvqqZsyYob1792rLli168skntXbtWiUmJno8VkREhCIiIhQUFKR+/fpp1apVZXE5AAAATlarVampqdq/f7/mzZunO++8U5J0xRVXuMzLzMzUfffdpzvvvNPt+6ziKG4/5XA49NFHHykkJEQ33nhjic8DAABQlDfeeENbtmxxWVm9KO3bt1dERIQCAwN10UUXae7cucU6x4wZM5SZmamRI0e6POT3559/Ki8vT927d3fbp1u3bpJENggAAJSJmTNnKjg4WGFhYapRo4buv/9+ZWRknHUfb9+PsdvtOnToUIkzPX5lXgkkSQcPHlRsbKzH1Ujr1Kmj5cuXKz8/X/7+/j6oDgAAwPu+/PJLzZkzR8uWLZOfX8nbzhdffFEFBQUaMWKEF6oDAADVmc1m0wsvvCA/Pz/ddNNNZ507Z84crV69WrfeeqsCAwOd41FRUZo1a5buuOMOXXfddc7xsLAwff311xo6dKjLceLj4zV27FhdcMEFCgkJ0YYNG/Tmm2+qZ8+emjNnjvr27Vum1wgAAKqvSZMm6f7773f+3LBhQ02bNk09e/Z0mffPf/5TdrtdL730UonPUZJ+auHChdq9e7dGjhyp8PDwEp8LAADAk927d+u5557Ts88+q4YNGyo5OdnjvMjISI0ZM0YXXXSRoqKitHXrVr355psaOHCgpkyZopEjR571PJMnT5ZhGLrttttcxg8ePCjpZAboTKfGDhw4UPILAwAAOE1CQoKuvfZaNW3aVJmZmZozZ47effddLVmyRMuXL1doaKjH/bx9P2bixIk6dOiQ/vWvf5VoP0LrXpKTk+MxsC7J+QVnTk4OoXUAAFAlHT9+XA8++KBGjx7tcYWJc5k5c6YmTJigAQMGaNSoUV6oEAAAVGcPPfSQVqxYofHjx6tFixZFztu+fbtuvfVW1alTR6+//rrb9tDQULVt21ZXXnmlLrroIqWlpem9997TTTfdpO+//179+vVzzn355Zdd9h06dKhuuukmdezYUXfffbe2b99edhcIAACqtaFDh6ply5bKysrSH3/8oVmzZik1NdVlzrJly/S///1P06dPV0RERInPUdx+SjoZopek22+/vcTnAQAAKMpdd92lxo0b6+GHHz7rPE9vA77tttvUtm1bjR07Vtdcc02RYa+tW7dq6dKluvTSS9WoUSOXbTk5OZLkMRt0ei4IAADgfJz5xt7hw4erffv2evrpp/XWW2/p6aef9rifN+/HLF++XA8//LA6dOigp556qkT7msq8GkiSgoODlZeX53Gb1Wp1zgEAAKiKHnvsMTkcDrdwVnHMmTNHN998sy644AJ9+eWXMgzDCxUCAIDq6l//+pfeffddjRkzRk8++WSR83bv3q1LL71UhmFo7ty5iouLc9m+ceNGXXTRRerXr59ee+01XXXVVbr99tu1dOlSxcfHa/To0bLZbGetpVmzZrruuuu0Y8cObdu2rUyuDwAAoG7duurbt6+GDh2qcePG6eOPP9bjjz/uXFE9Pz9fY8aMUd++fUv1euji9lOSlJaWpm+//VYtW7ZUjx49SnU9AAAAZ5o2bZrmz5+v999/XxaLpcT7x8TE6K677lJ6erqWL19e5LzJkydLku644w63bacyP56yQeSCAACANz322GPy9/fX7NmzPW735v2YtWvXauDAgapdu7Zmz57t8pbi4iC07iW1a9dWamqqx+b0wIEDio2NZZV1AABQJa1bt05TpkzRfffdp2PHjmnHjh3asWOHjhw5Ikk6fPiwduzY4bFP+umnnzRs2DC1adNG8+bN45XRAACgTCUmJurf//63Ro0apYkTJxY5Lzk5WX369FFWVpbmz5+vdu3auc154403ZLVade2117qMBwcHa+DAgdqzZ0+Rr6U+XcOGDSXJbfVTAACAstK+fXt16tRJ//3vfyVJ7733nrZs2aKHH37Yed9mx44dOnHihKSTD+/t2rXL47GK20+dMn36dOXl5bHKOgAAKDN5eXl6+OGHdcUVVyg+Pt7Zy+zZs0eSlJGRoR07dig9Pf2sxznXPZnCwkJ98skniomJ0VVXXeW2vXbt2pJOZoDOdGqsTp06xb0sAACAYrNYLM6Msifeuh+zbt069evXTxEREVq0aFGpeh2/Mq0ITl27dtW8efO0evVq9ezZ0zlutVq1fv169erVy4fVAQAAeM/evXvlcDj07LPP6tlnn3Xbfv/990uS1qxZoy5dujjHf/rpJ+frqxcsWKCoqKhyqxkAAFR9iYmJGjdunEaMGKFJkyYV+TaX5ORk9e7dWxkZGVqwYIE6derkcd6pLx89raZeWFjo8p9ns337dklSzZo1i3UdAAAApZGbm6u0tDRJ0p49e2S323X55Zd7nJuQkKCQkBBlZWW5jBe3nzrd5MmTZbFYNHz48PO/CAAAAJ3sa44eParZs2d7XF102rRpmjZtml577TU9+uijRR7nXPdkfvjhB6WkpOjBBx9UQECA2/Z27dopICBAK1ascNu2cuVKSXL5HgwAAKCsWK1W7d+/X926dfO43Rv3Y9atW6e+ffsqLCxMixYtUoMGDUp1HELrXnL99ddr/PjxevPNN11C6x9++KFycnJ08803+7A6AAAA70lISNCMGTPcxhcvXqz33ntPjzzyiLp166YmTZo4t82bN09XXXWVWrRooV9++UXR0dHlWTIAAKjinn/+eY0bN0633nqrpkyZIpPJ88sH9+zZoz59+ig9PV3z58/XBRdcUOQxW7durXnz5mnq1Kl6/PHHnePp6en6/vvvFRUVpaZNm0qSsrOzZTab3V6R+Mcff2jGjBlq1aqVS28EAABQGocPH1Z8fLzb+KJFi7Rp0yb17t1bkjRq1CiPr4Z+7733tHjxYk2ZMsVtMYHi9lOn+/3337VhwwYNGzZMNWrUKN1FAQAAnCEkJMTj91BHjx7VPffcowEDBuj2229X+/btVVhYqOzsbEVERLjM3bdvn95//33FxMTooosu8nieyZMnS1KRK5SGhoZq8ODB+uabb7RhwwZ16NBBkpSVlaVJkyapWbNmSkhIOJ9LBQAA1dyxY8cUExPjNv6vf/1LhYWFGjx4sNs2b9yP+eOPP9SvXz+FhoZq0aJFatSoUamPRWjdS9q1a6d7771X7777roYNG6YrrrhCSUlJevvtt3XJJZfopptu8nWJAAAA+vTTT52vSzx69Kjy8/P173//W5LUoEED3Xrrrc65f/75p2bNmiVJWrZsmXP/pUuXSjq5gnpERIRq166ta665xu1cp1bn6tatm8v233//XUOGDJHD4dCoUaM0d+5ct31vueWWsrhcAABQDb333nt67rnnVL9+ffXt21efffaZy/aaNWuqX79+OnHihPr06aPk5GTdf//92rp1q7Zu3eoyt1+/fs7Vtx566CF98skneuKJJ7Rx40ZdfPHFSktL04cffqhDhw7pvffek9lslnRy5a7LL79cQ4cOVbNmzRQSEqINGzZoypQpMpvN+uCDD8rnwwAAAFXa3XffrUOHDukf//iHGjRoIKvVqrVr1+qLL75QWFiYXn/9dUlShw4dnKGq0/3444+SpMGDBys2NtY5Xtx+6kyngl533HFHmV0jAACAxWLx+D1UcnKyJKlJkybO7enp6WrUqJGGDh2qVq1aKSoqSlu3btWkSZOUlZWlzz//XEFBQW7HOnjwoH766SclJCSoXbt2Rdby0ksv6ZdfftFll12msWPHKjw8XB9++KEOHDig2bNnF+vNNAAAAEX597//rZUrV6pPnz6qX7++srKyNGfOHC1atEgXXnih7r//frd9ins/prh5oT179qhfv346fvy4HnjgAS1fvlzLly93OdZVV12lkJCQYl2T4XA4HMWaiRKz2Wx688039cEHHyg5OVmxsbG6/vrr9fzzzys0NNTX5QEAAKh3795asmSJx22XXHKJFi9e7Px56tSpGjVqVJHH2r17txo2bFjk9lP7z5gxw+Vm4rmOK0m0rAAAoLRGjhypjz/+uMjtp3qe5OTkc64MsWjRIucKpZK0c+dOPf/88/rll1+UkpKioKAgdezYUQ899JCGDRvmnHf48GE99thjWrNmjQ4ePKjc3FzVqlVLffr00ZNPPqmWLVue93UCAAB89dVX+uSTT7RhwwYdPXpUhmGoQYMG6tevnx577DHVr1//rPuf6puOHj3qElovbj91ulP9Tnh4uJKTk4u1MjsAAMD5OHVv59QCk5KUl5ene++9V6tWrdL+/fuVlZWl2NhYXXzxxXr88ceLXAl9/Pjxevrpp/XBBx9o9OjRZz1vUlKSnnjiCS1ZskT5+fnq3LmzEhMT1bdv3zK/RgAAUL18//33+u9//6tNmzbp2LFjMpvNatasma677jo9/PDDbm/4Lcn9mOLmhRYvXqw+ffqctc5z5YVOR2gdAAAAAAAAAAAAAAAAAAAAAOA1LGsAAAAAAAAAAAAAAAAAAAAAAPAaQusAAAAAAAAAAAAAAAAAAAAAAK8htA4AAAAAAAAAAAAAAAAAAAAA8BpC6wAAAAAAAAAAAAAAAAAAAAAAryG0DgAAAAAAAAAAAAAAAAAAAADwGkLrAAAAAAAAAAAAAAAAAAAAAACvIbQOAAAAAAAAAAAAAAAAAAAAAPAaQusAAAAAAAAAAAAAAAAAAAAAAK8htA4AAAAAAAAAAAAAAAAAAAAA8BpC6wAAAAAAAAAAlFJycrIMw1BiYmKVPmdp/POf/1SjRo2Un59/zrmLFy+WYRiaOnVqsY79/fffy9/fX9u3bz/PKgEAAAAAAAAA5YHQOgAAAAAAAABUArt27dKYMWPUsmVLBQcHKyoqSq1atdKIESO0aNEir547MTFR3333nVfPAVfJyclKTEzU+vXrfV1KqezevVtvvfWWnn32Wfn7+5fqGOvXr1diYqKSk5Pdtg0ZMkTt2rXTP//5z/OsFAAAAAAAAABQHvx8XQAAAAAAAAAA4Ox+//13XXLJJbJYLBo+fLjatGmj3Nxcbd++XfPmzVNYWJj69OnjtfOPGzdOI0aM0NChQ712DrhKTk7WuHHj1LBhQ3Xs2NFlW4MGDZSbmys/v4p7i//ll19WeHi4brnlllIfY/369Ro3bpx69+6thg0bum1/8MEHNWLECP31119q06bNeVQLAAAAAAAAAPC2intHGwAAAAAAAAAg6WRoPCcnR+vXr1eHDh3cth8+fNgHVcFXDMNQYGCgr8soUmZmpqZPn67bb79dFovFa+cZNmyY7r77bk2cOFHvvPOO184DAAAAAAAAADh/Jl8XAAAAAAAAAAA4u+3btysmJsZjYF2S4uPjJUn5+fmKi4vTxRdf7HHea6+9JsMw9Ouvv0qSrFarEhMT1aJFCwUHBysyMlLt2rXTY489Junkat+GYUiSPv74YxmG4fxzugULFuiyyy5TZGSkAgMD1b59e02cONHt/A0bNlTv3r21YcMG9e3bV6GhoapRo4YeeeQRFRYWymq16tFHH1WdOnUUGBioXr16KSkpqdif0+HDh/XAAw+ocePGCggIUI0aNdSvXz/Nnz9fkjRkyBAFBwcrMzPTbd81a9bIMAw9//zzLuNff/21evfurcjISAUHB6tFixZ64IEHlJ+ff856vvzyS/Xo0UNhYWEKDg7WhRdeqJkzZ55zv6lTpzpXzh81apTzM+/du7ekv/97SUxMdO5z+thXX32ljh07KigoSE2bNtVHH30kSdq7d6+uueYaRUdHKywsTLfccotOnDjhdv5Dhw7p7rvvVv369eXv76/atWtrzJgxOnLkyDlrl6Q5c+YoOztbV1xxhcft33//vTp16qTAwEDVq1dP//rXv1RQUOAyJzExUaNGjZIk9enTx/kZjBw50jknNDRUPXv2LNZnCgAAAAAAAADwLVZaBwAAAAAAAIAKrkmTJtq6dau++eYbDRs2rMh5/v7+GjFihF5//XVt3bpVLVq0cNk+ZcoUNW/eXL169ZIk3XvvvZoyZYqGDx+uhx9+WIWFhdq+fbsWLlwoSYqLi9Onn36qW2+9VT179tSYMWPczvnBBx/orrvuUrdu3fT0008rJCRE8+fP1913362dO3fqtddec5m/f/9+9evXT9dff72uueYazZs3T//5z3/k5+env/76S7m5uXriiSeUmpqqCRMmaOjQoUpKSpLJdPY1WJKTk3XxxRcrJSVFw4cPV5cuXZSdna2VK1dqwYIF6tevn0aPHq1Zs2bp888/15133umy/+TJk2UymXTbbbc5x55++mmNHz9erVu31tixY1WrVi3t3LlTX3/9tZ5//nn5+/sXWc8zzzyjF198UQMGDNALL7wgk8mkb7/9Vtdee63effdd3XvvvUXu26tXLz311FMaP368xowZo549e0qSatasedbPQJJ+/PFHTZw4Uffcc4+io6M1efJk3XbbbfL399dTTz2lf/zjHxo/frzWrFmjKVOmKDAwUJMmTXLuv3fvXnXv3l35+fm6/fbb1aRJE+3YsUPvv/++Fi1apN9//10RERFnrWHJkiWSpK5du7pt+/bbb3X11VerYcOGevbZZ+Xn56ePPvpIs2fPdpk3bNgwHTp0SB988IGeeuoptWrVStLJ/1s4Xffu3fXzzz9ry5Ytatmy5Tk/HwAAAAAAAACAbxgOh8Ph6yIAAAAAAAAAAEVbsWKFLrnkEhUUFKhZs2bq0aOHunbtqt69ezvDvKds27ZNLVq00GOPPaZXX33VOb5s2TL16NFDr7zyih5//HFJUnR0tLp166Y5c+ac9fyGYWjEiBGaOnWqy/ihQ4fUqFEjDRs2TJ999pnLtgcffFDvvvuutm/frsaNG0s6udL6nj179NVXX+naa691zr3gggv0xx9/aPDgwfruu++cK7m//fbbevDBB/XTTz+pf//+Z63xiiuu0Ny5cz3OtdvtMplMstlsatSokeLj47V69Wrn9pycHNWqVUsXX3yx87NYvXq1LrzwQvXp00dz5sxRYGCgc/6p2+qGYSg5OVmNGjXSc88951z5fN26dbrgggv05JNPavz48S61DB06VAsXLtSBAwcUFhZW5PUsXrxYffr00UcffeSyurgkj+c8NRYcHKzNmzerQYMGkqSjR4+qXr16ys/P14QJE/Twww87jzNs2DD9+OOPSktLU2hoqKSTq9GvWLFC69atU926dZ1zf//9d3Xr1k3PPPOMywrvnlxyySXauHGj0tLSXMZPff45OTnasmWLYmNjJUkZGRlq37699u7d63K9U6dO1ahRo7Ro0SLnKvNnmjZtmm699VbNnDlTV1999VnrAgAAAAAAAAD4ztmXpgEAAAAAAAAA+Fz37t21du1ajRgxQhkZGfroo490zz33qHXr1urVq5d27drlnNu8eXNdcskl+uSTT1RYWOgcnzx5svz8/DRixAjnWEREhP766y9t2rSpVHXNnDlTeXl5uv3225WamuryZ/DgwbLb7VqwYIHLPnXq1HEJrEtSjx495HA4dP/99zsD65KcK4xv3779rHWkpaXpp59+0oABAzyG20+t0m42m3XbbbdpzZo12rhxo8t1ZGZm6vbbb3eOTZ8+XZL00ksvuQTWpZNh9dPrPNP06dOdQf8zP5crr7xSJ06c0IoVK856TaU1dOhQZ2BdOrlafosWLWQymdxWd+/Zs6cKCgqUnJws6WR4/Mcff9SVV16pwMBAl7obNmyopk2bat68eees4ejRo4qOjnYbX7t2rfbt26dRo0Y5A+vSyX+Hd911V6muNyYmRpJ05MiRUu0PAAAAAAAAACgfhNYBAAAAAAAAoBJo166dpk6dqpSUFCUnJ+vjjz9Wz5499dtvv2nIkCHKz893zh0zZoxSUlL0448/SpJOnDihr776SoMGDVLNmjWd8958800dP35c7dq1U5MmTXTHHXfo+++/l91uL1ZNSUlJkqS+ffsqLi7O5U+/fv0kSSkpKS77NGrUyO04UVFRHred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", "text/plain": [ "
" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The pulse gate circuit is obtained via the `pulse_gate_circuit` attribute\n", "pulse_circuit = compiler_output.pulse_gate_circuit\n", "\n", "custom_style = {\"formatter.general.fig_width\": 30, \"formatter.general.fig_unit_height\": 1}\n", "style = qiskit.visualization.timeline.IQXStandard(**custom_style)\n", "\n", "qiskit.visualization.timeline_drawer(\n", " pulse_circuit, idle_wires=False, style=style, target=backend_target\n", ")" ] }, { "cell_type": "markdown", "id": "ebd51e12", "metadata": {}, "source": [ "## Multiple Circuits Compilation\n", "\n", "All the functionalities we have seen so far can also be used on a multiple-circuit input as well. To illustrate this, let us create a different example two-qubit circuit: a Bell-state circuit." ] }, { "cell_type": "code", "execution_count": 7, "id": "afe9537a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
0: ───H───@───M───\n",
       "          │   │\n",
       "1: ───────X───M───
" ], "text/plain": [ "0: ───H───@───M───\n", " │ │\n", "1: ───────X───M───" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Create second circuit\n", "bell_circuit = cirq.Circuit(\n", " cirq.H(qubits[0]), cirq.CNOT(qubits[0], qubits[1]), cirq.measure(qubits[0], qubits[1])\n", ")\n", "\n", "# Visualize second circuit\n", "bell_circuit" ] }, { "cell_type": "markdown", "id": "b63696a1", "metadata": {}, "source": [ "By passing multiple circuits as a list to the `ibmq_compile` endpoint, we can compile all of them individually with a single call to the endpoint. This will return all the corresponding compiled circuits and pulse gate circuits back as a list, like so: " ] }, { "cell_type": "code", "execution_count": 8, "id": "31699457", "metadata": {}, "outputs": [], "source": [ "# Create list of circuits\n", "circuit_list = [circuit, bell_circuit]\n", "\n", "# Compile list of circuits\n", "compiler_output_list = service.ibmq_compile(circuit_list, \"ibmq_brisbane_qpu\")\n", "\n", "# The list of compiled output circuits is stored in the `circuits` attribute instead of `circuit`. Likewise for\n", "# pulse gate circuits.\n", "output_circuits = compiler_output_list.circuits\n", "pulse_gate_circuits = compiler_output_list.pulse_gate_circuits" ] }, { "cell_type": "code", "execution_count": 9, "id": "2de5dbe1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Compiled circuit 1 \n", "\n" ] }, { "data": { "text/html": [ "
4: ───Rz(0.5π)───X──────────AceCR+-(Z side)───Rz(0.5π)───X────────────AceCR+-(Z side)───Rz(π)──────────────│───M('q(0),q(1)')───\n",
       "                            │                                         │                                    │   │\n",
       "5: ──────────────Rz(1.5π)───AceCR+-(X side)───X^0.5──────Rz(0.276π)───AceCR+-(X side)───X^0.5───Rz(1.5π)───│───M────────────────
" ], "text/plain": [ "4: ───Rz(0.5π)───X──────────AceCR+-(Z side)───Rz(0.5π)───X────────────AceCR+-(Z side)───Rz(π)──────────────│───M('q(0),q(1)')───\n", " │ │ │ │\n", "5: ──────────────Rz(1.5π)───AceCR+-(X side)───X^0.5──────Rz(0.276π)───AceCR+-(X side)───X^0.5───Rz(1.5π)───│───M────────────────" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Visualize the first compiled circuit\n", "print(\"Compiled circuit 1 \\n\")\n", "output_circuits[0]" ] }, { "cell_type": "code", "execution_count": 10, "id": "81996430", "metadata": {}, "outputs": [ { "data": { "image/png": "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yit18803y2KxaNGiRXrmmWf01VdfaeXKlQoKClJeXp5uvfVWdezYUTfccIMaNWqkQ4cOaeLEierevbs++eQT3XLLLc7j2u12XX755Vq+fLlGjBih+++/Xzk5Ofr88881atQoJSUl6ZVXXnGr59NPP3UbS0hI8OpnAAAAqof9+/fr0KFDuuqqq1S3bl35+flp48aN+uCDD/TFF19o/fr1qlGjhtt+Bw8e1BNPPKHQ0FCP926K20+d4qnfkU6GwHbu3KnBgweX3UUDAABIevbZZ3X06NGzznnjjTcUGxvrMnbBBRe4/Dxs2DA1bdrUbd8///xTr732mlsfs3PnTl100UXy8/PT448/roiICH344Yfq37+/5s6dq759+5byigAAAP7Ws2dPjRkzxmXszIfpSno/prh5oeTkZI0ZM0Y9evTQ7bffrtq1a2vXrl16//339c033+inn35Snz59in0thuPMZZ9QJv766y+1a9dOV111lb7++mvn+DvvvKMHHnhA06dP10033eTDCgEAAKRdu3apcePGkqS2bdsqKytLycnJHuceOHBAsbGxCggI0IQJE/TYY49p0aJF6t2791nP8dZbb+npp5/W448/rueee04zZszQNddc49yenJwsm82mJk2auOy3YMEC9evXT1dffTWrjwIAgFL7/fff1axZM0VERLiMP/PMM3rxxRf1zjvv6L777lNhYaGWLVumSy65xGVeSkqK2rRpI7PZrEOHDjkXIVixYoUuuugiPfTQQ3rjjTec8/Pz89WyZUulpaW53OQbOXKkPv74Y7cV2AEAALxtxowZuu666/TKK6/o8ccfd9t+1VVXac+ePWrTpo2mTZumo0ePugS6ittPnc3+/fvVoEEDde7cWWvWrCmbCwMAAJC0bt06JSQk6NVXX9Ujjzyie++9V++++65ze2JiosaNG6fdu3ef9Y3DZ3PnnXfqgw8+0I8//qiBAwc6x6+77jp9/fXXWrt2rTp27Cjp5Jv52rRpo8DAQG3ZskWGYZzP5QEAgGrOMAyNGDFCU6dOLfG+Z7sfU9y80LFjx7Rv3z5nr3PK5s2b1alTJ7Vr106///57sWtiqW8v+fzzz+VwOPTQQw+5jI8ePVrBwcGaNm2abwoDAAA4zakGtDjq1KmjgICAEh1/3759euaZZ5SYmKj69et7nNOwYUO3wLok9e3bV9HR0dq0aVOJzgkAAHC6Ll26uAWsJOn666+XJGev4efn5xZYl6SaNWvqkksu0ZEjR3TkyBHneGZmpiSpdu3aLvP9/f0VGxurkJAQj/U4HA5lZmbKbreX7oIAAABKqEGDBpKk48ePu2379ttvNWvWLE2cOFFms9nj/sXtp87mo48+kt1u1x133FGS0gEAAM7KZrNp9OjRGjBggIYNG3bO+ZmZmSosLCzRObKzs/XFF1+obt26GjBggMv4rFmz1Lt3b5cQV2hoqO644w5t27aNh/UAAECZyc/P9/iGvLM52/2Y4uaFYmJi3ALrktS6dWu1bdu2xJkeQutesmbNGplMJrfXOwcGBqpjx440pgAAoFq4++671bhxY7cH+YojIyNDJ06cUM2aNcu+MAAAUO3t379fkorVa+zfv1/+/v6KjIx0jiUkJCgyMlKvvvqqZsyYob1792rLli168skntXbtWiUmJno8VkREhCIiIhQUFKR+/fpp1apVZXE5AAAATlarVampqdq/f7/mzZunO++8U5J0xRVXuMzLzMzUfffdpzvvvNPt+6ziKG4/5XA49NFHHykkJEQ33nhjic8DAABQlDfeeENbtmxxWVm9KO3bt1dERIQCAwN10UUXae7cucU6x4wZM5SZmamRI0e6POT3559/Ki8vT927d3fbp1u3bpJENggAAJSJmTNnKjg4WGFhYapRo4buv/9+ZWRknHUfb9+PsdvtOnToUIkzPX5lXgkkSQcPHlRsbKzH1Ujr1Kmj5cuXKz8/X/7+/j6oDgAAwPu+/PJLzZkzR8uWLZOfX8nbzhdffFEFBQUaMWKEF6oDAADVmc1m0wsvvCA/Pz/ddNNNZ507Z84crV69WrfeeqsCAwOd41FRUZo1a5buuOMOXXfddc7xsLAwff311xo6dKjLceLj4zV27FhdcMEFCgkJ0YYNG/Tmm2+qZ8+emjNnjvr27Vum1wgAAKqvSZMm6f7773f+3LBhQ02bNk09e/Z0mffPf/5TdrtdL730UonPUZJ+auHChdq9e7dGjhyp8PDwEp8LAADAk927d+u5557Ts88+q4YNGyo5OdnjvMjISI0ZM0YXXXSRoqKitHXrVr355psaOHCgpkyZopEjR571PJMnT5ZhGLrttttcxg8ePCjpZAboTKfGDhw4UPILAwAAOE1CQoKuvfZaNW3aVJmZmZozZ47effddLVmyRMuXL1doaKjH/bx9P2bixIk6dOiQ/vWvf5VoP0LrXpKTk+MxsC7J+QVnTk4OoXUAAFAlHT9+XA8++KBGjx7tcYWJc5k5c6YmTJigAQMGaNSoUV6oEAAAVGcPPfSQVqxYofHjx6tFixZFztu+fbtuvfVW1alTR6+//rrb9tDQULVt21ZXXnmlLrroIqWlpem9997TTTfdpO+//179+vVzzn355Zdd9h06dKhuuukmdezYUXfffbe2b99edhcIAACqtaFDh6ply5bKysrSH3/8oVmzZik1NdVlzrJly/S///1P06dPV0RERInPUdx+SjoZopek22+/vcTnAQAAKMpdd92lxo0b6+GHHz7rPE9vA77tttvUtm1bjR07Vtdcc02RYa+tW7dq6dKluvTSS9WoUSOXbTk5OZLkMRt0ei4IAADgfJz5xt7hw4erffv2evrpp/XWW2/p6aef9rifN+/HLF++XA8//LA6dOigp556qkT7msq8GkiSgoODlZeX53Gb1Wp1zgEAAKiKHnvsMTkcDrdwVnHMmTNHN998sy644AJ9+eWXMgzDCxUCAIDq6l//+pfeffddjRkzRk8++WSR83bv3q1LL71UhmFo7ty5iouLc9m+ceNGXXTRRerXr59ee+01XXXVVbr99tu1dOlSxcfHa/To0bLZbGetpVmzZrruuuu0Y8cObdu2rUyuDwAAoG7duurbt6+GDh2qcePG6eOPP9bjjz/uXFE9Pz9fY8aMUd++fUv1euji9lOSlJaWpm+//VYtW7ZUjx49SnU9AAAAZ5o2bZrmz5+v999/XxaLpcT7x8TE6K677lJ6erqWL19e5LzJkydLku644w63bacyP56yQeSCAACANz322GPy9/fX7NmzPW735v2YtWvXauDAgapdu7Zmz57t8pbi4iC07iW1a9dWamqqx+b0wIEDio2NZZV1AABQJa1bt05TpkzRfffdp2PHjmnHjh3asWOHjhw5Ikk6fPiwduzY4bFP+umnnzRs2DC1adNG8+bN45XRAACgTCUmJurf//63Ro0apYkTJxY5Lzk5WX369FFWVpbmz5+vdu3auc154403ZLVade2117qMBwcHa+DAgdqzZ0+Rr6U+XcOGDSXJbfVTAACAstK+fXt16tRJ//3vfyVJ7733nrZs2aKHH37Yed9mx44dOnHihKSTD+/t2rXL47GK20+dMn36dOXl5bHKOgAAKDN5eXl6+OGHdcUVVyg+Pt7Zy+zZs0eSlJGRoR07dig9Pf2sxznXPZnCwkJ98skniomJ0VVXXeW2vXbt2pJOZoDOdGqsTp06xb0sAACAYrNYLM6Msifeuh+zbt069evXTxEREVq0aFGpeh2/Mq0ITl27dtW8efO0evVq9ezZ0zlutVq1fv169erVy4fVAQAAeM/evXvlcDj07LPP6tlnn3Xbfv/990uS1qxZoy5dujjHf/rpJ+frqxcsWKCoqKhyqxkAAFR9iYmJGjdunEaMGKFJkyYV+TaX5ORk9e7dWxkZGVqwYIE6derkcd6pLx89raZeWFjo8p9ns337dklSzZo1i3UdAAAApZGbm6u0tDRJ0p49e2S323X55Zd7nJuQkKCQkBBlZWW5jBe3nzrd5MmTZbFYNHz48PO/CAAAAJ3sa44eParZs2d7XF102rRpmjZtml577TU9+uijRR7nXPdkfvjhB6WkpOjBBx9UQECA2/Z27dopICBAK1ascNu2cuVKSXL5HgwAAKCsWK1W7d+/X926dfO43Rv3Y9atW6e+ffsqLCxMixYtUoMGDUp1HELrXnL99ddr/PjxevPNN11C6x9++KFycnJ08803+7A6AAAA70lISNCMGTPcxhcvXqz33ntPjzzyiLp166YmTZo4t82bN09XXXWVWrRooV9++UXR0dHlWTIAAKjinn/+eY0bN0633nqrpkyZIpPJ88sH9+zZoz59+ig9PV3z58/XBRdcUOQxW7durXnz5mnq1Kl6/PHHnePp6en6/vvvFRUVpaZNm0qSsrOzZTab3V6R+Mcff2jGjBlq1aqVS28EAABQGocPH1Z8fLzb+KJFi7Rp0yb17t1bkjRq1CiPr4Z+7733tHjxYk2ZMsVtMYHi9lOn+/3337VhwwYNGzZMNWrUKN1FAQAAnCEkJMTj91BHjx7VPffcowEDBuj2229X+/btVVhYqOzsbEVERLjM3bdvn95//33FxMTooosu8nieyZMnS1KRK5SGhoZq8ODB+uabb7RhwwZ16NBBkpSVlaVJkyapWbNmSkhIOJ9LBQAA1dyxY8cUExPjNv6vf/1LhYWFGjx4sNs2b9yP+eOPP9SvXz+FhoZq0aJFatSoUamPRWjdS9q1a6d7771X7777roYNG6YrrrhCSUlJevvtt3XJJZfopptu8nWJAAAA+vTTT52vSzx69Kjy8/P173//W5LUoEED3Xrrrc65f/75p2bNmiVJWrZsmXP/pUuXSjq5gnpERIRq166ta665xu1cp1bn6tatm8v233//XUOGDJHD4dCoUaM0d+5ct31vueWWsrhcAABQDb333nt67rnnVL9+ffXt21efffaZy/aaNWuqX79+OnHihPr06aPk5GTdf//92rp1q7Zu3eoyt1+/fs7Vtx566CF98skneuKJJ7Rx40ZdfPHFSktL04cffqhDhw7pvffek9lslnRy5a7LL79cQ4cOVbNmzRQSEqINGzZoypQpMpvN+uCDD8rnwwAAAFXa3XffrUOHDukf//iHGjRoIKvVqrVr1+qLL75QWFiYXn/9dUlShw4dnKGq0/3444+SpMGDBys2NtY5Xtx+6kyngl533HFHmV0jAACAxWLx+D1UcnKyJKlJkybO7enp6WrUqJGGDh2qVq1aKSoqSlu3btWkSZOUlZWlzz//XEFBQW7HOnjwoH766SclJCSoXbt2Rdby0ksv6ZdfftFll12msWPHKjw8XB9++KEOHDig2bNnF+vNNAAAAEX597//rZUrV6pPnz6qX7++srKyNGfOHC1atEgXXnih7r//frd9ins/prh5oT179qhfv346fvy4HnjgAS1fvlzLly93OdZVV12lkJCQYl2T4XA4HMWaiRKz2Wx688039cEHHyg5OVmxsbG6/vrr9fzzzys0NNTX5QEAAKh3795asmSJx22XXHKJFi9e7Px56tSpGjVqVJHH2r17txo2bFjk9lP7z5gxw+Vm4rmOK0m0rAAAoLRGjhypjz/+uMjtp3qe5OTkc64MsWjRIucKpZK0c+dOPf/88/rll1+UkpKioKAgdezYUQ899JCGDRvmnHf48GE99thjWrNmjQ4ePKjc3FzVqlVLffr00ZNPPqmWLVue93UCAAB89dVX+uSTT7RhwwYdPXpUhmGoQYMG6tevnx577DHVr1//rPuf6puOHj3qElovbj91ulP9Tnh4uJKTk4u1MjsAAMD5OHVv59QCk5KUl5ene++9V6tWrdL+/fuVlZWl2NhYXXzxxXr88ceLXAl9/Pjxevrpp/XBBx9o9OjRZz1vUlKSnnjiCS1ZskT5+fnq3LmzEhMT1bdv3zK/RgAAUL18//33+u9//6tNmzbp2LFjMpvNatasma677jo9/PDDbm/4Lcn9mOLmhRYvXqw+ffqctc5z5YVOR2gdAAAAAAAAAAAAAAAAAAAAAOA1LGsAAAAAAAAAAAAAAAAAAAAAAPAaQusAAAAAAAAAAAAAAAAAAAAAAK8htA4AAAAAAAAAAAAAAAAAAAAA8BpC6wAAAAAAAAAAAAAAAAAAAAAAryG0DgAAAAAAAAAAAAAAAAAAAADwGkLrAAAAAAAAAAAAAAAAAAAAAACvIbQOAAAAAAAAAAAAAAAAAAAAAPAaQusAAAAAAAAAAAAAAAAAAAAAAK8htA4AAAAAAAAAAAAAAAAAAAAA8BpC6wAAAAAAAAAAlFJycrIMw1BiYmKVPmdp/POf/1SjRo2Un59/zrmLFy+WYRiaOnVqsY79/fffy9/fX9u3bz/PKgEAAAAAAAAA5YHQOgAAAAAAAABUArt27dKYMWPUsmVLBQcHKyoqSq1atdKIESO0aNEir547MTFR3333nVfPAVfJyclKTEzU+vXrfV1KqezevVtvvfWWnn32Wfn7+5fqGOvXr1diYqKSk5Pdtg0ZMkTt2rXTP//5z/OsFAAAAAAAAABQHvx8XQAAAAAAAAAA4Ox+//13XXLJJbJYLBo+fLjatGmj3Nxcbd++XfPmzVNYWJj69OnjtfOPGzdOI0aM0NChQ712DrhKTk7WuHHj1LBhQ3Xs2NFlW4MGDZSbmys/v4p7i//ll19WeHi4brnlllIfY/369Ro3bpx69+6thg0bum1/8MEHNWLECP31119q06bNeVQLAAAAAAAAAPC2intHGwAAAAAAAAAg6WRoPCcnR+vXr1eHDh3cth8+fNgHVcFXDMNQYGCgr8soUmZmpqZPn67bb79dFovFa+cZNmyY7r77bk2cOFHvvPOO184DAAAAAAAAADh/Jl8XAAAAAAAAAAA4u+3btysmJsZjYF2S4uPjJUn5+fmKi4vTxRdf7HHea6+9JsMw9Ouvv0qSrFarEhMT1aJFCwUHBysyMlLt2rXTY489Junkat+GYUiSPv74YxmG4fxzugULFuiyyy5TZGSkAgMD1b59e02cONHt/A0bNlTv3r21YcMG9e3bV6GhoapRo4YeeeQRFRYWymq16tFHH1WdOnUUGBioXr16KSkpqdif0+HDh/XAAw+ocePGCggIUI0aNdSvXz/Nnz9fkjRkyBAFBwcrMzPTbd81a9bIMAw9//zzLuNff/21evfurcjISAUHB6tFixZ64IEHlJ+ff856vvzyS/Xo0UNhYWEKDg7WhRdeqJkzZ55zv6lTpzpXzh81apTzM+/du7ekv/97SUxMdO5z+thXX32ljh07KigoSE2bNtVHH30kSdq7d6+uueYaRUdHKywsTLfccotOnDjhdv5Dhw7p7rvvVv369eXv76/atWtrzJgxOnLkyDlrl6Q5c+YoOztbV1xxhcft33//vTp16qTAwEDVq1dP//rXv1RQUOAyJzExUaNGjZIk9enTx/kZjBw50jknNDRUPXv2LNZnCgAAAAAAAADwLVZaBwAAAAAAAIAKrkmTJtq6dau++eYbDRs2rMh5/v7+GjFihF5//XVt3bpVLVq0cNk+ZcoUNW/eXL169ZIk3XvvvZoyZYqGDx+uhx9+WIWFhdq+fbsWLlwoSYqLi9Onn36qW2+9VT179tSYMWPczvnBBx/orrvuUrdu3fT0008rJCRE8+fP1913362dO3fqtddec5m/f/9+9evXT9dff72uueYazZs3T//5z3/k5+env/76S7m5uXriiSeUmpqqCRMmaOjQoUpKSpLJdPY1WJKTk3XxxRcrJSVFw4cPV5cuXZSdna2VK1dqwYIF6tevn0aPHq1Zs2bp888/15133umy/+TJk2UymXTbbbc5x55++mmNHz9erVu31tixY1WrVi3t3LlTX3/9tZ5//nn5+/sXWc8zzzyjF198UQMGDNALL7wgk8mkb7/9Vtdee63effdd3XvvvUXu26tXLz311FMaP368xowZo549e0qSatasedbPQJJ+/PFHTZw4Uffcc4+io6M1efJk3XbbbfL399dTTz2lf/zjHxo/frzWrFmjKVOmKDAwUJMmTXLuv3fvXnXv3l35+fm6/fbb1aRJE+3YsUPvv/++Fi1apN9//10RERFnrWHJkiWSpK5du7pt+/bbb3X11VerYcOGevbZZ+Xn56ePPvpIs2fPdpk3bNgwHTp0SB988IGeeuoptWrVStLJ/1s4Xffu3fXzzz9ry5Ytatmy5Tk/HwAAAAAAAACAbxgOh8Ph6yIAAAAAAAAAAEVbsWKFLrnkEhUUFKhZs2bq0aOHunbtqt69ezvDvKds27ZNLVq00GOPPaZXX33VOb5s2TL16NFDr7zyih5//HFJUnR0tLp166Y5c+ac9fyGYWjEiBGaOnWqy/ihQ4fUqFEjDRs2TJ999pnLtgcffFDvvvuutm/frsaNG0s6udL6nj179NVXX+naa691zr3gggv0xx9/aPDgwfruu++cK7m//fbbevDBB/XTTz+pf//+Z63xiiuu0Ny5cz3OtdvtMplMstlsatSokeLj47V69Wrn9pycHNWqVUsXX3yx87NYvXq1LrzwQvXp00dz5sxRYGCgc/6p2+qGYSg5OVmNGjXSc88951z5fN26dbrgggv05JNPavz48S61DB06VAsXLtSBAwcUFhZW5PUsXrxYffr00UcffeSyurgkj+c8NRYcHKzNmzerQYMGkqSjR4+qXr16ys/P14QJE/Twww87jzNs2DD9+OOPSktLU2hoqKSTq9GvWLFC69atU926dZ1zf//9d3Xr1k3PPPOMywrvnlxyySXauHGj0tLSXMZPff45OTnasmWLYmNjJUkZGRlq37699u7d63K9U6dO1ahRo7Ro0SLnKvNnmjZtmm699VbNnDlTV1999VnrAgAAAAAAAAD4ztmXpgEAAAAAAAAA+Fz37t21du1ajRgxQhkZGfroo490zz33qHXr1urVq5d27drlnNu8eXNdcskl+uSTT1RYWOgcnzx5svz8/DRixAjnWEREhP766y9t2rSpVHXNnDlTeXl5uv3225WamuryZ/DgwbLb7VqwYIHLPnXq1HEJrEtSjx495HA4dP/99zsD65KcK4xv3779rHWkpaXpp59+0oABAzyG20+t0m42m3XbbbdpzZo12rhxo8t1ZGZm6vbbb3eOTZ8+XZL00ksvuQTWpZNh9dPrPNP06dOdQf8zP5crr7xSJ06c0IoVK856TaU1dOhQZ2BdOrlafosWLWQymdxWd+/Zs6cKCgqUnJws6WR4/Mcff9SVV16pwMBAl7obNmyopk2bat68eees4ejRo4qOjnYbX7t2rfbt26dRo0Y5A+vSyX+Hd911V6muNyYmRpJ05MiRUu0PAAAAAAAAACgfhNYBAAAAAAAAoBJo166dpk6dqpSUFCUnJ+vjjz9Wz5499dtvv2nIkCHKz893zh0zZoxSUlL0448/SpJOnDihr776SoMGDVLNmjWd8958800dP35c7dq1U5MmTXTHHXfo+++/l91uL1ZNSUlJkqS+ffsqLi7O5U+/fv0kSSkpKS77NGrUyO04UVFRHred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", "text/plain": [ "
" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Visualize the pulse gate circuit for the first compiled circuit\n", "qiskit.visualization.timeline_drawer(\n", " pulse_gate_circuits[0], idle_wires=False, style=style, target=backend_target\n", ")" ] }, { "cell_type": "code", "execution_count": 11, "id": "39c2b1d9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Compiled circuit 2 \n", "\n" ] }, { "data": { "text/html": [ "
4: ───Rz(0.5π)───X^0.5───AceCR+-(Z side)───Rz(0.5π)───X^0.5───│───M────────────────\n",
       "                         │                                    │   │\n",
       "5: ──────────────────────AceCR+-(X side)───Rz(0.5π)───X^0.5───│───M('q(0),q(1)')───
" ], "text/plain": [ "4: ───Rz(0.5π)───X^0.5───AceCR+-(Z side)───Rz(0.5π)───X^0.5───│───M────────────────\n", " │ │ │\n", "5: ──────────────────────AceCR+-(X side)───Rz(0.5π)───X^0.5───│───M('q(0),q(1)')───" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Visualize the second compiled circuit\n", "print(\"Compiled circuit 2 \\n\")\n", "output_circuits[1]" ] }, { "cell_type": "code", "execution_count": 12, "id": "7fb554e4", "metadata": {}, "outputs": [ { "data": { "image/png": "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SEiIunfvrtjYWNlsthLXe+SRR2QwGOTr61vs8kOHDmnMmDGqU6eOvL291aRJE82YMUO5ubmuOhQAAAA999xzGjVqlBo1aiSDwaCIiIhS11m0aJF69Oghf39/+fr6qnXr1nrmmWec6n766ScNGzZMwcHBMpvNatWqlebOnauioiKHug0bNshgMFz2Z8uWLRV1yAAAoBrav3+/nn76aXXt2lW1atWSn5+f2rdvr2effdbps6mYmJgSz0nmzJlz2f1kZ2fbz6v+/ve/l1i3cuVK9e/fX4GBgbJYLIqKirpsPQAAQFnEx8drzJgxatGihWrWrCmLxaLmzZvrH//4h5KSkhxqX3rpJfXt21dhYWHy9vZWWFiY+vXrpy+++KLYbaekpGjq1KkKDw+Xl5eXGjRooAcffFCpqalOtX/mfAoAAOBKlHRPxmazafHixRo9erSaNGkii8WiBg0a6MYbb9S2bduueLsXlfecqjSmK1oLZTJ9+nTNmzdPN910k/75z38qLi5O8+bN088//6x169bJaOR7AwAA4OpjtVo1ePBgff/995owYYLuv/9+ZWdn68MPP9Qdd9yhuLg4vfDCC07r7dq1Sy+//LJ8fX2LbW7ft2+funXrpsLCQt13332KjIzUDz/8oGeeeUbbtm3T6tWrZTAYKuMQAQBANfP4448rKChIHTt2LPaDxj+688479d5772nkyJEaO3asjEajjhw5osTERIe6TZs26brrrlPNmjX1wAMPqFatWlq7dq2mT5+uvXv36u2337bXtmjRQosWLXLaV15enqZMmaKQkBBFR0f/6WMFAADV18KFC/X666/rxhtv1JgxY+Tp6an169frySef1CeffKKtW7fKx8fHYZ1XXnlFISEhDmPXXHPNZffz9NNP6/Tp05etmTlzpmJiYjRw4EDNnDlTFotFR48e1a+//nplBwcAAPD/HT9+XElJSbrppptUv359mUwm7d69W2+//bY++ugj7dq1S7Vr15Ykbd++XRERERoyZIhCQkJ07tw5ffrppxoxYoRmzZqlp556yr7dU6dOqUuXLjp58qTuvvtutW7dWnv27NEbb7yhTZs2acuWLbJYLE55ruR8CgAA4EqUdE8mLy9P48aNU/v27TV69GhFRkYqKSlJb775prp166b3339fY8eOLfd2LyrPOVWZ2OASe/bssRkMBtuIESMcxufNm2eTZFuyZImbkgEAAFze999/b5NkmzZtmsN4Xl6eLTIy0lazZk2ndQoLC22dOnWy3XDDDbY+ffrYatSo4VQzbNgwm8FgsG3ZssVhfPbs2TZJtkWLFlXocQAAAFx06NAh+++tWrWyNWzYsMTa+fPn2yTZ3n///VK3265dO5uPj4/D9m02m23KlCk2Sbbvvvuu1G188MEHNkm2hx56qNRaAACAy9mxY4ctNTXVafyJJ56wSbK9+uqr9rEZM2bYJNmOHDlSrn3s3LnT5uHhYXvppZdskmz33XefU83atWttkmyzZs0q9zEAAABcqU8++cQmyfbCCy9ctq6goMDWtm1bm6+vr62wsNA+/uCDD9ok2T744AOH+ov3bp555hmH8Ss9nwIAALgSl7snU1BQYNuwYYPTOsnJybbg4GBb7dq1bUVFReXe7uWUdE5VFkz57SIffvihbDabpk2b5jA+efJkWSwWLV682D3BAAAASpGeni5Jqlu3rsO4l5eXQkJCVKNGDad15s2bp7179+rVV18tcbvr169XVFSUunfv7jA+ceJESdK77777J5MDAAAUr1GjRmWqs9lseu6559SxY0eNGzdOkpSRkVHs02TOnz+vX375Rb1793bafnnOb+bPny9JmjRpUpkyAgAAlKRTp06qWbOm0/itt94qSdqzZ0+x66Wnp6uwsLDU7RcVFWny5MkaNGiQRowYUWLd7NmzVbt2bT322GOSpMzMTFmt1rIcAgAAwBVr2LChpAv3bC7HZDKpXr16ysrKUkFBgX18/fr18vHx0ejRox3qb731VpnN5sve5ynr+RQAAMCVKO2ejMlkUp8+fZzG69Spoz59+ujUqVM6depUubd7OSWdU5UFjesusmPHDhmNRqdHPJvNZrVv3147duxwUzIAAIDLi46OVkBAgF588UV9+umnOnr0qPbt26fHHntMO3fuVExMjEN9YmKinnrqKc2YMcN+U7A4eXl5xT5C8eLY9u3bi20KAwAAqCzx8fE6dOiQunfvrmeeeUbBwcHy9/dXQECApk6dqszMTHttXl6eJF32/Gbr1q2X3d+RI0e0fv169ezZU82aNavAIwEAAPjd8ePHJV34sPKP2rZtq5o1a8psNqt79+5avXp1idt55ZVXtG/fPr322msl1mRlZWnTpk3q0qWLFixYoHr16snPz0++vr4aPXq0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nTqpR48eCggI0I8//qjTp09ryJAhrj0wAACAUrRp00Zms9l+PnSp48ePS5Jq167ttKxGjRrq2rWrunXrJovFoq+++ko2m63E85tTp07pf//7n9q1a8c9IgAAUOFiYmI0c+ZMTZgwQfPnz5fBYCjzugcOHJAk1alTR5KUk5Oj06dPa+XKlQ73f/r27SvpwgxdTZs21fz58+3rNWjQQOfOnVN2drbDti93PgUAAFARcnJydO7cuTLVSSq21sPDQ+3bt1evXr1Uu3ZtJScn6+eff1afPn3K9NS8P55PAQAAXIny3pORLjSt9+3bV2lpaVq7dq06dOhQIdu9XEap+HOqyzGVqxplduutt2r27NmaO3euevXqZR9/5513lJ2drTFjxrgxHQAAQMlatmypNWvWKDY2Vv/617/s46mpqVq+fLkCAwPVpEkTPfLIIxo7dqzT+jNmzNDhw4e1aNEi1axZ87L7ys3N1bRp0+Tt7a2HHnqowo8FAACgPCwWi0aOHKklS5boiy++0E033WRf9sYbb0hSqV+2O3v2rB5//HGFhIRo6tSpxda8//77Kigo0F133VVx4QEAACTNmjVLM2fO1Lhx47Rw4UIZjc5zWBUWFiorK8vpvs2xY8f0xhtvKDg4WN27d5d04Qt6n376qdM2Tp8+rXvvvVeDBg3SXXfdpbZt29qXjRs3Ts8++6zeeustTZ8+3T5e1vMpAACAy0lOTi72aXnr16/Xnj177E1XWVlZstls8vX1dagrKirS66+/Lknq2rXrZfdltVr1wAMPqKioSE888YR9vDznUwAAAFeivPdkEhMT1a9fP6Wmpmrt2rW65pprKmS7FXFO9UcGm81mK9caKLP7779fr732mm666SYNGTJEcXFxmjdvnnr06KFvv/222JuFAAAA7paYmKiOHTvq/PnzGjNmjHr06KFz587pnXfeUUJCgl5//XXde++9Ja7ft29f/fjjj8rMzHQY/+233zRx4kQNHTpU9evXV0pKit577z0dOnRI7777rsaNG+fqQwMAANXUokWL7I84fPXVV5Wfn69//vOfkqSGDRs6nIccPXpU0dHRSktL0/3336+IiAitWrVKK1eu1Pjx4/Xee+/Za1etWqV///vfGjBggEJDQ5WYmKj58+fr/PnzWrFihfr3719snhYtWighIUEnT55UYGCgC48cAABUJ6+/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xIkT7TW+vr7q1atXmd5TAAAAAAAAAID7MeM6AAAAAAAAAFzlGjdurPj4eH3++ecaMWJEiXVeXl6aMGGCXnrpJcXHx6tZs2YOyxcuXKioqCj17t1bknTfffdp4cKFGj9+vP7xj3+osLBQBw4c0LfffitJqlWrlhYtWqRx48apV69emjJlitM+3377bU2dOlVdu3bVE088oRo1amjt2rW65557dOjQIf373/92qD9+/LgGDBigW2+9VTfffLPWrFmjl19+WSaTSb/99ptycnL06KOP6syZM5ozZ46GDx+uuLg4GY2Xn4clISFBPXr0UEpKisaPH69OnTopKytLW7du1bp16zRgwABNnjxZK1as0Icffqi7777bYf0FCxbIaDTqzjvvtI898cQTmj17tlq2bKnp06crLCxMhw4d0meffaZZs2bJy8urxDxPPvmknn32WQ0aNEjPPPOMjEajvvjiC40aNUqvvfaa7rvvvhLX7d27tx5//HHNnj1bU6ZMUa9evSRJderUuex7IElffvml3nzzTd17770KCgrSggULdOedd8rLy0uPP/64rr32Ws2ePVs7duzQwoULZTabNX/+fPv6R48eVbdu3ZSfn6+77rpLjRs31sGDB/XGG29o/fr1+vHHH1WzZs3LZti4caMkqXPnzk7LvvjiC40cOVIRERF6+umnZTKZ9O6772rlypUOdSNGjFBSUpLefvttPf7442rRooWkC/9duFS3bt309ddfa9++fWrevHmp7w8AAAAAAAAAwH0MNpvN5u4QAAAAAAAAAICS/fDDD+rTp48KCgrUtGlT9ezZU507d1bfvn3tDb0X7d+/X82aNdPDDz+sF1980T6+ZcsW9ezZUy+88IL+9a9/SZKCgoLUtWtXrVq16rL7NxgMmjBhgmJjYx3Gk5KSFBkZqREjRuiDDz5wWPbggw/qtdde04EDB9SoUSNJF2ZcT0xM1CeffKJRo0bZa6+55hr9/PPPuuGGG7Rs2TL7jO7z5s3Tgw8+qK+++koDBw68bMYhQ4Zo9erVxdZarVYZjUYVFRUpMjJSoaGh2r59u315dna2wsLC1KNHD/t7sX37dnXp0kX9+vXTqlWrZDab7fUXb6sbDAYlJCQoMjJSM2bMsM+A/tNPP+maa67RY489ptmzZztkGT58uL799ludOHFCfn5+JR7Phg0b1K9fP7377rsOs4xLKnafF8csFov27t2rhg0bSpJOnz6t8PBw5efna86cOfrHP/5h386IESP05Zdf6ty5c/L19ZV0YVb6H374QT/99JPq169vr/3xxx/VtWtXPfnkkw4zvRenT58+2r17t86dO+cwfvH9z87O1r59+xQSEiJJSktLU9u2bXX06FGH442NjdUdd9yh9evX22eb/6PFixdr3LhxWrp0qUaOHHnZXAAAAAAAAAAA97r8FDUAAAAAAAAAALfr1q2bdu7cqQkTJigtLU3vvvuu7r33XrVs2VK9e/fW4cOH7bVRUVHq06eP3n//fRUWFtrHFyxYIJPJpAkTJtjHatasqd9++0179uy5olxLly5VXl6e7rrrLp05c8bh54YbbpDVatW6desc1qlXr55D07ok9ezZUzabTffff7+9aV2SfabxAwcOXDbHuXPn9NVXX2nQoEHFNrhfnK3dw8NDd955p3bs2KHdu3c7HEd6erruuusu+9iSJUskSc8995xD07p0oWH90px/tGTJEnuz/x/flxtvvFEZGRn64YcfLntMV2r48OH2pnXpwqz5zZo1k9FodJrlvVevXiooKFBCQoKkCw3kX375pW688UaZzWaH3BEREWrSpInWrFlTaobTp08rKCjIaXznzp06duyY7rjjDnvTunTh73Dq1KlXdLzBwcGSpFOnTl3R+gAAAAAAAACAykPjOgAAAAAAAABUAW3atFFsbKxSUlKUkJCg9957T7169dJ3332nYcOGKT8/3147ZcoUpaSk6Msvv5QkZWRk6JNPPtHQoUNVp04de93cuXN1/vx5tWnTRo0bN9akSZO0fPlyWa3WMmWKi4uTJPXv31+1atVy+BkwYIAkKSUlxWGdyMhIp+0EBgYWu+zi+NmzZy+b4+DBg7LZbOrQoUOpme+66y55eHhowYIF9rEFCxaodu3auvHGG+1jBw4ckMFgULt27Urd5h/FxcXJZrOpefPmTu/Lxeb4P74vFeXi7PaXCgwMVFhYmLy9vZ3Gpd/f3/j4eFmtVi1YsMApd61atRQfH1+m3AaDQcU97PXiFyyaN2/utKxly5alH1wxLp39HgAAAAAAAABwdTO5OwAAAAAAAAAAoHwaNmyo8ePHa9y4cerVq5e2bNmi7du3q2fPnpKkkSNH6oEHHtCCBQs0fPhwffzxx8rKytKkSZMctjNs2DAl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", "text/plain": [ "
" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Visualize the pulse gate circuit for the second compiled circuit\n", "qiskit.visualization.timeline_drawer(\n", " pulse_gate_circuits[1], idle_wires=False, style=style, target=backend_target\n", ")" ] }, { "cell_type": "markdown", "id": "501f2692", "metadata": {}, "source": [ "## Using the Superstaq Simulator\n", "\n", "Lastly, we will show (a) how to submit a circuit to a backend and (b) how to simulate circuit execution. Simulation is available to free trial users, and can be done by passing the `\"dry-run\"` method parameter when calling `create_job()` on the Superstaq service." ] }, { "cell_type": "code", "execution_count": 13, "id": "39643374", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'00': 528, '11': 472}\n" ] } ], "source": [ "# Create job that submits to IBM Quantum backend\n", "job = service.create_job(\n", " bell_circuit,\n", " repetitions=1000,\n", " target=\"ibmq_brisbane_qpu\",\n", " method=\"dry-run\", # Specify \"dry-run\" as the method to run Superstaq simulation\n", ")\n", "\n", "# Get the counts from the measurement\n", "print(job.counts(0))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.16" } }, "nbformat": 4, "nbformat_minor": 5 }