{"payload":{"allShortcutsEnabled":false,"fileTree":{"qiskit/transpiler/passes/basis":{"items":[{"name":"__init__.py","path":"qiskit/transpiler/passes/basis/__init__.py","contentType":"file"},{"name":"basis_translator.py","path":"qiskit/transpiler/passes/basis/basis_translator.py","contentType":"file"},{"name":"decompose.py","path":"qiskit/transpiler/passes/basis/decompose.py","contentType":"file"},{"name":"translate_parameterized.py","path":"qiskit/transpiler/passes/basis/translate_parameterized.py","contentType":"file"},{"name":"unroll_3q_or_more.py","path":"qiskit/transpiler/passes/basis/unroll_3q_or_more.py","contentType":"file"},{"name":"unroll_custom_definitions.py","path":"qiskit/transpiler/passes/basis/unroll_custom_definitions.py","contentType":"file"}],"totalCount":6},"qiskit/transpiler/passes":{"items":[{"name":"analysis","path":"qiskit/transpiler/passes/analysis","contentType":"directory"},{"name":"basis","path":"qiskit/transpiler/passes/basis","contentType":"directory"},{"name":"calibration","path":"qiskit/transpiler/passes/calibration","contentType":"directory"},{"name":"layout","path":"qiskit/transpiler/passes/layout","contentType":"directory"},{"name":"optimization","path":"qiskit/transpiler/passes/optimization","contentType":"directory"},{"name":"routing","path":"qiskit/transpiler/passes/routing","contentType":"directory"},{"name":"scheduling","path":"qiskit/transpiler/passes/scheduling","contentType":"directory"},{"name":"synthesis","path":"qiskit/transpiler/passes/synthesis","contentType":"directory"},{"name":"utils","path":"qiskit/transpiler/passes/utils","contentType":"directory"},{"name":"__init__.py","path":"qiskit/transpiler/passes/__init__.py","contentType":"file"}],"totalCount":10},"qiskit/transpiler":{"items":[{"name":"passes","path":"qiskit/transpiler/passes","contentType":"directory"},{"name":"preset_passmanagers","path":"qiskit/transpiler/preset_passmanagers","contentType":"directory"},{"name":"__init__.py","path":"qiskit/transpiler/__init__.py","contentType":"file"},{"name":"basepasses.py","path":"qiskit/transpiler/basepasses.py","contentType":"file"},{"name":"coupling.py","path":"qiskit/transpiler/coupling.py","contentType":"file"},{"name":"exceptions.py","path":"qiskit/transpiler/exceptions.py","contentType":"file"},{"name":"instruction_durations.py","path":"qiskit/transpiler/instruction_durations.py","contentType":"file"},{"name":"layout.py","path":"qiskit/transpiler/layout.py","contentType":"file"},{"name":"passmanager.py","path":"qiskit/transpiler/passmanager.py","contentType":"file"},{"name":"passmanager_config.py","path":"qiskit/transpiler/passmanager_config.py","contentType":"file"},{"name":"target.py","path":"qiskit/transpiler/target.py","contentType":"file"},{"name":"timing_constraints.py","path":"qiskit/transpiler/timing_constraints.py","contentType":"file"}],"totalCount":12},"qiskit":{"items":[{"name":"assembler","path":"qiskit/assembler","contentType":"directory"},{"name":"circuit","path":"qiskit/circuit","contentType":"directory"},{"name":"compiler","path":"qiskit/compiler","contentType":"directory"},{"name":"converters","path":"qiskit/converters","contentType":"directory"},{"name":"dagcircuit","path":"qiskit/dagcircuit","contentType":"directory"},{"name":"passmanager","path":"qiskit/passmanager","contentType":"directory"},{"name":"primitives","path":"qiskit/primitives","contentType":"directory"},{"name":"providers","path":"qiskit/providers","contentType":"directory"},{"name":"pulse","path":"qiskit/pulse","contentType":"directory"},{"name":"qasm","path":"qiskit/qasm","contentType":"directory"},{"name":"qasm2","path":"qiskit/qasm2","contentType":"directory"},{"name":"qasm3","path":"qiskit/qasm3","contentType":"directory"},{"name":"qobj","path":"qiskit/qobj","contentType":"directory"},{"name":"qpy","path":"qiskit/qpy","contentType":"directory"},{"name":"quantum_info","path":"qiskit/quantum_info","contentType":"directory"},{"name":"result","path":"qiskit/result","contentType":"directory"},{"name":"scheduler","path":"qiskit/scheduler","contentType":"directory"},{"name":"synthesis","path":"qiskit/synthesis","contentType":"directory"},{"name":"transpiler","path":"qiskit/transpiler","contentType":"directory"},{"name":"utils","path":"qiskit/utils","contentType":"directory"},{"name":"visualization","path":"qiskit/visualization","contentType":"directory"},{"name":"VERSION.txt","path":"qiskit/VERSION.txt","contentType":"file"},{"name":"__init__.py","path":"qiskit/__init__.py","contentType":"file"},{"name":"exceptions.py","path":"qiskit/exceptions.py","contentType":"file"},{"name":"user_config.py","path":"qiskit/user_config.py","contentType":"file"},{"name":"version.py","path":"qiskit/version.py","contentType":"file"}],"totalCount":26},"":{"items":[{"name":".azure","path":".azure","contentType":"directory"},{"name":".binder","path":".binder","contentType":"directory"},{"name":".cargo","path":".cargo","contentType":"directory"},{"name":".github","path":".github","contentType":"directory"},{"name":"crates","path":"crates","contentType":"directory"},{"name":"docs","path":"docs","contentType":"directory"},{"name":"examples","path":"examples","contentType":"directory"},{"name":"qiskit","path":"qiskit","contentType":"directory"},{"name":"releasenotes","path":"releasenotes","contentType":"directory"},{"name":"test","path":"test","contentType":"directory"},{"name":"tools","path":"tools","contentType":"directory"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".git-blame-ignore-revs","path":".git-blame-ignore-revs","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".local-spellings","path":".local-spellings","contentType":"file"},{"name":".mailmap","path":".mailmap","contentType":"file"},{"name":".mergify.yml","path":".mergify.yml","contentType":"file"},{"name":".stestr.conf","path":".stestr.conf","contentType":"file"},{"name":"CITATION.bib","path":"CITATION.bib","contentType":"file"},{"name":"CODE_OF_CONDUCT.md","path":"CODE_OF_CONDUCT.md","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"Cargo.lock","path":"Cargo.lock","contentType":"file"},{"name":"Cargo.toml","path":"Cargo.toml","contentType":"file"},{"name":"DEPRECATION.md","path":"DEPRECATION.md","contentType":"file"},{"name":"LICENSE.txt","path":"LICENSE.txt","contentType":"file"},{"name":"MAINTAINING.md","path":"MAINTAINING.md","contentType":"file"},{"name":"MANIFEST.in","path":"MANIFEST.in","contentType":"file"},{"name":"Makefile","path":"Makefile","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"SECURITY.md","path":"SECURITY.md","contentType":"file"},{"name":"asv.conf.json","path":"asv.conf.json","contentType":"file"},{"name":"azure-pipelines.yml","path":"azure-pipelines.yml","contentType":"file"},{"name":"constraints.txt","path":"constraints.txt","contentType":"file"},{"name":"pyproject.toml","path":"pyproject.toml","contentType":"file"},{"name":"qiskit_bot.yaml","path":"qiskit_bot.yaml","contentType":"file"},{"name":"requirements-dev.txt","path":"requirements-dev.txt","contentType":"file"},{"name":"requirements-optional.txt","path":"requirements-optional.txt","contentType":"file"},{"name":"requirements.txt","path":"requirements.txt","contentType":"file"},{"name":"rust-toolchain.toml","path":"rust-toolchain.toml","contentType":"file"},{"name":"setup.py","path":"setup.py","contentType":"file"},{"name":"tox.ini","path":"tox.ini","contentType":"file"}],"totalCount":41}},"fileTreeProcessingTime":16.504098,"foldersToFetch":[],"repo":{"id":83821669,"defaultBranch":"main","name":"qiskit","ownerLogin":"Qiskit","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-03-03T17:02:42.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/30696987?v=4","public":true,"private":false,"isOrgOwned":true},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"main","listCacheKey":"v0:1710785011.0","canEdit":false,"refType":"branch","currentOid":"43381ae1b159c01b55159d2dc1e8a65970b72746"},"path":"qiskit/transpiler/passes/basis/basis_translator.py","currentUser":null,"blob":{"rawLines":["# This code is part of Qiskit.","#","# (C) Copyright IBM 2017, 2020.","#","# This code is licensed under the Apache License, Version 2.0. You may","# obtain a copy of this license in the LICENSE.txt file in the root directory","# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.","#","# Any modifications or derivative works of this code must retain this","# copyright notice, and modified files need to carry a notice indicating","# that they have been altered from the originals.","","","\"\"\"Translates gates to a target basis using a given equivalence library.\"\"\"","","import time","import logging","","from functools import singledispatchmethod","from itertools import zip_longest","from collections import defaultdict","","import rustworkx","","from qiskit.circuit import ("," Gate,"," ParameterVector,"," QuantumRegister,"," ControlFlowOp,"," QuantumCircuit,"," ParameterExpression,",")","from qiskit.dagcircuit import DAGCircuit","from qiskit.converters import circuit_to_dag, dag_to_circuit","from qiskit.circuit.equivalence import Key, NodeData","from qiskit.transpiler.basepasses import TransformationPass","from qiskit.transpiler.exceptions import TranspilerError","","logger = logging.getLogger(__name__)","","","class BasisTranslator(TransformationPass):"," \"\"\"Translates gates to a target basis by searching for a set of translations"," from a given EquivalenceLibrary.",""," This pass operates in several steps:",""," * Determine the source basis from the input circuit."," * Perform a Dijkstra search over basis sets, starting from the device's"," target_basis new gates are being generated using the rules from the provided"," EquivalenceLibrary and the search stops if all gates in the source basis have"," been generated."," * The found path, as a set of rules from the EquivalenceLibrary, is composed"," into a set of gate replacement rules."," * The composed replacement rules are applied in-place to each op node which"," is not already in the target_basis.",""," If the target keyword argument is specified and that"," :class:`~qiskit.transpiler.Target` objects contains operations"," which are non-global (i.e. they are defined only for a subset of qubits),"," as calculated by :meth:`~qiskit.transpiler.Target.get_non_global_operation_names`,"," this pass will attempt to match the output translation to those constraints."," For 1 qubit operations this is straightforward, the pass will perform a"," search using the union of the set of global operations with the set of operations"," defined solely on that qubit. For multi-qubit gates this is a bit more involved,"," while the behavior is initially similar to the single qubit case, just using all"," the qubits the operation is run on (where order is not significant) isn't sufficient."," We also need to consider any potential local qubits defined on subsets of the"," quantum arguments for the multi-qubit operation. This means the target used for the"," search of a non-global multi-qubit gate is the union of global operations, non-global"," multi-qubit gates sharing the same qubits, and any non-global gates defined on"," any subset of the qubits used.","",""," .. note::",""," In the case of non-global operations it is possible for a single"," execution of this pass to output an incomplete translation if any"," non-global gates are defined on qubits that are a subset of a larger"," multi-qubit gate. For example, if you have a ``u`` gate only defined on"," qubit 0 and an ``x`` gate only on qubit 1 it is possible when"," translating a 2 qubit operation on qubit 0 and 1 that the output might"," have ``u`` on qubit 1 and ``x`` on qubit 0. Typically running this pass"," a second time will correct these issues.",""," .. _translation_errors:",""," Translation Errors"," ------------------",""," This pass will error if there is no path to translate an input gate to"," the specified basis. However, during a typical/default preset passmanager"," this pass gets run multiple times at different stages of the compilation"," pipeline. This means that potentially the input gates that are getting"," translated were not in the input circuit to :func:`~.transpile` as they"," were generated by an intermediate transform in the circuit.",""," When this error occurs it typically means that either the target basis"," is not universal or there are additional equivalence rules needed in the"," :clas:~.EquivalenceLibrary` instance being used by the"," :class:~.BasisTranslator` pass. You can refer to"," :ref:`custom_basis_gates` for details on adding custom equivalence rules."," \"\"\"",""," def __init__(self, equivalence_library, target_basis, target=None, min_qubits=0):"," \"\"\"Initialize a BasisTranslator instance.",""," Args:"," equivalence_library (EquivalenceLibrary): The equivalence library"," which will be used by the BasisTranslator pass. (Instructions in"," this library will not be unrolled by this pass.)"," target_basis (list[str]): Target basis names to unroll to, e.g. ``['u3', 'cx']``."," target (Target): The backend compilation target"," min_qubits (int): The minimum number of qubits for operations in the input"," dag to translate."," \"\"\"",""," super().__init__()"," self._equiv_lib = equivalence_library"," self._target_basis = target_basis"," self._target = target"," self._non_global_operations = None"," self._qargs_with_non_global_operation = {}"," self._min_qubits = min_qubits"," if target is not None:"," self._non_global_operations = self._target.get_non_global_operation_names()"," self._qargs_with_non_global_operation = defaultdict(set)"," for gate in self._non_global_operations:"," for qarg in self._target[gate]:"," self._qargs_with_non_global_operation[qarg].add(gate)",""," def run(self, dag):"," \"\"\"Translate an input DAGCircuit to the target basis.",""," Args:"," dag (DAGCircuit): input dag",""," Raises:"," TranspilerError: if the target basis cannot be reached",""," Returns:"," DAGCircuit: translated circuit."," \"\"\""," if self._target_basis is None and self._target is None:"," return dag",""," qarg_indices = {qubit: index for index, qubit in enumerate(dag.qubits)}",""," # Names of instructions assumed to supported by any backend."," if self._target is None:"," basic_instrs = [\"measure\", \"reset\", \"barrier\", \"snapshot\", \"delay\"]"," target_basis = set(self._target_basis)"," source_basis = set(self._extract_basis(dag))"," qargs_local_source_basis = {}"," else:"," basic_instrs = [\"barrier\", \"snapshot\"]"," target_basis = self._target.keys() - set(self._non_global_operations)"," source_basis, qargs_local_source_basis = self._extract_basis_target(dag, qarg_indices)",""," target_basis = set(target_basis).union(basic_instrs)"," # If the source basis is a subset of the target basis and we have no circuit"," # instructions on qargs that have non-global operations there is nothing to"," # translate and we can exit early."," if source_basis.issubset(target_basis) and not qargs_local_source_basis:"," return dag",""," logger.info("," \"Begin BasisTranslator from source basis %s to target basis %s.\","," source_basis,"," target_basis,"," )",""," # Search for a path from source to target basis."," search_start_time = time.time()"," basis_transforms = _basis_search(self._equiv_lib, source_basis, target_basis)",""," qarg_local_basis_transforms = {}"," for qarg, local_source_basis in qargs_local_source_basis.items():"," expanded_target = set(target_basis)"," # For any multiqubit operation that contains a subset of qubits that"," # has a non-local operation, include that non-local operation in the"," # search. This matches with the check we did above to include those"," # subset non-local operations in the check here."," if len(qarg) > 1:"," for non_local_qarg, local_basis in self._qargs_with_non_global_operation.items():"," if qarg.issuperset(non_local_qarg):"," expanded_target |= local_basis"," else:"," expanded_target |= self._qargs_with_non_global_operation[tuple(qarg)]",""," logger.info("," \"Performing BasisTranslator search from source basis %s to target \""," \"basis %s on qarg %s.\","," local_source_basis,"," expanded_target,"," qarg,"," )"," local_basis_transforms = _basis_search("," self._equiv_lib, local_source_basis, expanded_target"," )",""," if local_basis_transforms is None:"," raise TranspilerError("," \"Unable to translate the operations in the circuit: \""," f\"{[x[0] for x in local_source_basis]} to the backend's (or manually \""," f\"specified) target basis: {list(expanded_target)}. This likely means the \""," \"target basis is not universal or there are additional equivalence rules \""," \"needed in the EquivalenceLibrary being used. For more details on this \""," \"error see: \""," \"https://docs.quantum.ibm.com/api/qiskit/transpiler_passes.\""," \"BasisTranslator#translation-errors\""," )",""," qarg_local_basis_transforms[qarg] = local_basis_transforms",""," search_end_time = time.time()"," logger.info("," \"Basis translation path search completed in %.3fs.\", search_end_time - search_start_time"," )",""," if basis_transforms is None:"," raise TranspilerError("," \"Unable to translate the operations in the circuit: \""," f\"{[x[0] for x in source_basis]} to the backend's (or manually specified) target \""," f\"basis: {list(target_basis)}. This likely means the target basis is not universal \""," \"or there are additional equivalence rules needed in the EquivalenceLibrary being \""," \"used. For more details on this error see: \""," \"https://docs.quantum.ibm.com/api/qiskit/transpiler_passes.\""," \"BasisTranslator#translation-errors\""," )",""," # Compose found path into a set of instruction substitution rules.",""," compose_start_time = time.time()"," instr_map = _compose_transforms(basis_transforms, source_basis, dag)"," extra_instr_map = {"," qarg: _compose_transforms(transforms, qargs_local_source_basis[qarg], dag)"," for qarg, transforms in qarg_local_basis_transforms.items()"," }",""," compose_end_time = time.time()"," logger.info("," \"Basis translation paths composed in %.3fs.\", compose_end_time - compose_start_time"," )",""," # Replace source instructions with target translations.",""," replace_start_time = time.time()",""," def apply_translation(dag, wire_map):"," dag_updated = False"," for node in dag.op_nodes():"," node_qargs = tuple(wire_map[bit] for bit in node.qargs)"," qubit_set = frozenset(node_qargs)"," if node.name in target_basis or len(node.qargs) < self._min_qubits:"," if isinstance(node.op, ControlFlowOp):"," flow_blocks = []"," for block in node.op.blocks:"," dag_block = circuit_to_dag(block)"," dag_updated = apply_translation("," dag_block,"," {"," inner: wire_map[outer]"," for inner, outer in zip(block.qubits, node.qargs)"," },"," )"," if dag_updated:"," flow_circ_block = dag_to_circuit(dag_block)"," else:"," flow_circ_block = block"," flow_blocks.append(flow_circ_block)"," node.op = node.op.replace_blocks(flow_blocks)"," continue"," if ("," node_qargs in self._qargs_with_non_global_operation"," and node.name in self._qargs_with_non_global_operation[node_qargs]"," ):"," continue",""," if dag.has_calibration_for(node):"," continue"," if qubit_set in extra_instr_map:"," self._replace_node(dag, node, extra_instr_map[qubit_set])"," elif (node.op.name, node.op.num_qubits) in instr_map:"," self._replace_node(dag, node, instr_map)"," else:"," raise TranspilerError(f\"BasisTranslator did not map {node.name}.\")"," dag_updated = True"," return dag_updated",""," apply_translation(dag, qarg_indices)"," replace_end_time = time.time()"," logger.info("," \"Basis translation instructions replaced in %.3fs.\","," replace_end_time - replace_start_time,"," )",""," return dag",""," def _replace_node(self, dag, node, instr_map):"," target_params, target_dag = instr_map[node.op.name, node.op.num_qubits]"," if len(node.op.params) != len(target_params):"," raise TranspilerError("," \"Translation num_params not equal to op num_params.\""," \"Op: {} {} Translation: {}\\n{}\".format("," node.op.params, node.op.name, target_params, target_dag"," )"," )"," if node.op.params:"," parameter_map = dict(zip(target_params, node.op.params))"," bound_target_dag = target_dag.copy_empty_like()"," for inner_node in target_dag.topological_op_nodes():"," if any(isinstance(x, ParameterExpression) for x in inner_node.op.params):"," new_op = inner_node.op.copy()"," new_params = []"," for param in new_op.params:"," if not isinstance(param, ParameterExpression):"," new_params.append(param)"," else:"," bind_dict = {x: parameter_map[x] for x in param.parameters}"," if any(isinstance(x, ParameterExpression) for x in bind_dict.values()):"," new_value = param"," for x in bind_dict.items():"," new_value = new_value.assign(*x)"," else:"," new_value = param.bind(bind_dict)"," if not new_value.parameters:"," new_value = new_value.numeric()"," new_params.append(new_value)"," new_op.params = new_params"," else:"," new_op = inner_node.op"," bound_target_dag.apply_operation_back(new_op, inner_node.qargs, inner_node.cargs)"," if isinstance(target_dag.global_phase, ParameterExpression):"," old_phase = target_dag.global_phase"," bind_dict = {x: parameter_map[x] for x in old_phase.parameters}"," if any(isinstance(x, ParameterExpression) for x in bind_dict.values()):"," new_phase = old_phase"," for x in bind_dict.items():"," new_phase = new_phase.assign(*x)",""," else:"," new_phase = old_phase.bind(bind_dict)"," if not new_phase.parameters:"," new_phase = new_phase.numeric()"," if isinstance(new_phase, complex):"," raise TranspilerError(f\"Global phase must be real, but got '{new_phase}'\")"," bound_target_dag.global_phase = new_phase"," else:"," bound_target_dag = target_dag",""," if len(bound_target_dag.op_nodes()) == 1 and len("," bound_target_dag.op_nodes()[0].qargs"," ) == len(node.qargs):"," dag_op = bound_target_dag.op_nodes()[0].op"," # dag_op may be the same instance as other ops in the dag,"," # so if there is a condition, need to copy"," if getattr(node.op, \"condition\", None):"," dag_op = dag_op.copy()"," dag.substitute_node(node, dag_op, inplace=True)",""," if bound_target_dag.global_phase:"," dag.global_phase += bound_target_dag.global_phase"," else:"," dag.substitute_node_with_dag(node, bound_target_dag)",""," @singledispatchmethod"," def _extract_basis(self, circuit):"," return circuit",""," @_extract_basis.register"," def _(self, dag: DAGCircuit):"," for node in dag.op_nodes():"," if not dag.has_calibration_for(node) and len(node.qargs) >= self._min_qubits:"," yield (node.name, node.op.num_qubits)"," if isinstance(node.op, ControlFlowOp):"," for block in node.op.blocks:"," yield from self._extract_basis(block)",""," @_extract_basis.register"," def _(self, circ: QuantumCircuit):"," for instruction in circ.data:"," operation = instruction.operation"," if ("," not circ.has_calibration_for(instruction)"," and len(instruction.qubits) >= self._min_qubits"," ):"," yield (operation.name, operation.num_qubits)"," if isinstance(operation, ControlFlowOp):"," for block in operation.blocks:"," yield from self._extract_basis(block)",""," def _extract_basis_target("," self, dag, qarg_indices, source_basis=None, qargs_local_source_basis=None"," ):"," if source_basis is None:"," source_basis = set()"," if qargs_local_source_basis is None:"," qargs_local_source_basis = defaultdict(set)"," for node in dag.op_nodes():"," qargs = tuple(qarg_indices[bit] for bit in node.qargs)"," if dag.has_calibration_for(node) or len(node.qargs) < self._min_qubits:"," continue"," # Treat the instruction as on an incomplete basis if the qargs are in the"," # qargs_with_non_global_operation dictionary or if any of the qubits in qargs"," # are a superset for a non-local operation. For example, if the qargs"," # are (0, 1) and that's a global (ie no non-local operations on (0, 1)"," # operation but there is a non-local operation on (1,) we need to"," # do an extra non-local search for this op to ensure we include any"," # single qubit operation for (1,) as valid. This pattern also holds"," # true for > 2q ops too (so for 4q operations we need to check for 3q, 2q,"," # and 1q operations in the same manner)"," if qargs in self._qargs_with_non_global_operation or any("," frozenset(qargs).issuperset(incomplete_qargs)"," for incomplete_qargs in self._qargs_with_non_global_operation"," ):"," qargs_local_source_basis[frozenset(qargs)].add((node.name, node.op.num_qubits))"," else:"," source_basis.add((node.name, node.op.num_qubits))"," if isinstance(node.op, ControlFlowOp):"," for block in node.op.blocks:"," block_dag = circuit_to_dag(block)"," source_basis, qargs_local_source_basis = self._extract_basis_target("," block_dag,"," {"," inner: qarg_indices[outer]"," for inner, outer in zip(block.qubits, node.qargs)"," },"," source_basis=source_basis,"," qargs_local_source_basis=qargs_local_source_basis,"," )"," return source_basis, qargs_local_source_basis","","","class StopIfBasisRewritable(Exception):"," \"\"\"Custom exception that signals `rustworkx.dijkstra_search` to stop.\"\"\"","","","class BasisSearchVisitor(rustworkx.visit.DijkstraVisitor):"," \"\"\"Handles events emitted during `rustworkx.dijkstra_search`.\"\"\"",""," def __init__(self, graph, source_basis, target_basis):"," self.graph = graph"," self.target_basis = set(target_basis)"," self._source_gates_remain = set(source_basis)"," self._num_gates_remain_for_rule = {}"," save_index = -1"," for edata in self.graph.edges():"," if save_index == edata.index:"," continue"," self._num_gates_remain_for_rule[edata.index] = edata.num_gates"," save_index = edata.index",""," self._basis_transforms = []"," self._predecessors = {}"," self._opt_cost_map = {}",""," def discover_vertex(self, v, score):"," gate = self.graph[v].key"," self._source_gates_remain.discard(gate)"," self._opt_cost_map[gate] = score"," rule = self._predecessors.get(gate, None)"," if rule is not None:"," logger.debug("," \"Gate %s generated using rule \\n%s\\n with total cost of %s.\","," gate.name,"," rule.circuit,"," score,"," )"," self._basis_transforms.append((gate.name, gate.num_qubits, rule.params, rule.circuit))"," # we can stop the search if we have found all gates in the original ciruit."," if not self._source_gates_remain:"," # if we start from source gates and apply `basis_transforms` in reverse order, we'll end"," # up with gates in the target basis. Note though that `basis_transforms` may include"," # additional transformations that are not required to map our source gates to the given"," # target basis."," self._basis_transforms.reverse()"," raise StopIfBasisRewritable",""," def examine_edge(self, edge):"," _, target, edata = edge"," if edata is None:"," return",""," self._num_gates_remain_for_rule[edata.index] -= 1",""," target = self.graph[target].key"," # if there are gates in this `rule` that we have not yet generated, we can't apply"," # this `rule`. if `target` is already in basis, it's not beneficial to use this rule."," if self._num_gates_remain_for_rule[edata.index] > 0 or target in self.target_basis:"," raise rustworkx.visit.PruneSearch",""," def edge_relaxed(self, edge):"," _, target, edata = edge"," if edata is not None:"," gate = self.graph[target].key"," self._predecessors[gate] = edata.rule",""," def edge_cost(self, edge_data):"," \"\"\"Returns the cost of an edge.",""," This function computes the cost of this edge rule by summing"," the costs of all gates in the rule equivalence circuit. In the"," end, we need to subtract the cost of the source since `dijkstra`"," will later add it."," \"\"\"",""," if edge_data is None:"," # the target of the edge is a gate in the target basis,"," # so we return a default value of 1."," return 1",""," cost_tot = 0"," for instruction in edge_data.rule.circuit:"," key = Key(name=instruction.operation.name, num_qubits=len(instruction.qubits))"," cost_tot += self._opt_cost_map[key]",""," return cost_tot - self._opt_cost_map[edge_data.source]",""," @property"," def basis_transforms(self):"," \"\"\"Returns the gate basis transforms.\"\"\""," return self._basis_transforms","","","def _basis_search(equiv_lib, source_basis, target_basis):"," \"\"\"Search for a set of transformations from source_basis to target_basis.",""," Args:"," equiv_lib (EquivalenceLibrary): Source of valid translations"," source_basis (Set[Tuple[gate_name: str, gate_num_qubits: int]]): Starting basis."," target_basis (Set[gate_name: str]): Target basis.",""," Returns:"," Optional[List[Tuple[gate, equiv_params, equiv_circuit]]]: List of (gate,"," equiv_params, equiv_circuit) tuples tuples which, if applied in order"," will map from source_basis to target_basis. Returns None if no path"," was found."," \"\"\"",""," logger.debug(\"Begining basis search from %s to %s.\", source_basis, target_basis)",""," source_basis = {"," (gate_name, gate_num_qubits)"," for gate_name, gate_num_qubits in source_basis"," if gate_name not in target_basis"," }",""," # if source basis is empty, no work to be done."," if not source_basis:"," return []",""," # This is only neccessary since gates in target basis are currently reported by"," # their names and we need to have in addition the number of qubits they act on."," target_basis_keys = [key for key in equiv_lib.keys() if key.name in target_basis]",""," graph = equiv_lib.graph"," vis = BasisSearchVisitor(graph, source_basis, target_basis_keys)",""," # we add a dummy node and connect it with gates in the target basis."," # we'll start the search from this dummy node."," dummy = graph.add_node(NodeData(key=\"key\", equivs=[(\"dummy starting node\", 0)]))",""," try:"," graph.add_edges_from_no_data("," [(dummy, equiv_lib.node_index(key)) for key in target_basis_keys]"," )"," rtn = None"," try:"," rustworkx.digraph_dijkstra_search(graph, [dummy], vis.edge_cost, vis)"," except StopIfBasisRewritable:"," rtn = vis.basis_transforms",""," logger.debug(\"Transformation path:\")"," for gate_name, gate_num_qubits, params, equiv in rtn:"," logger.debug(\"%s/%s => %s\\n%s\", gate_name, gate_num_qubits, params, equiv)"," finally:"," # Remove dummy node in order to return graph to original state"," graph.remove_node(dummy)",""," return rtn","","","def _compose_transforms(basis_transforms, source_basis, source_dag):"," \"\"\"Compose a set of basis transforms into a set of replacements.",""," Args:"," basis_transforms (List[Tuple[gate_name, params, equiv]]): List of"," transforms to compose."," source_basis (Set[Tuple[gate_name: str, gate_num_qubits: int]]): Names"," of gates which need to be translated."," source_dag (DAGCircuit): DAG with example gates from source_basis."," (Used to determine num_params for gate in source_basis.)",""," Returns:"," Dict[gate_name, Tuple(params, dag)]: Dictionary mapping between each gate"," in source_basis and a DAGCircuit instance to replace it. Gates in"," source_basis but not affected by basis_transforms will be included"," as a key mapping to itself."," \"\"\""," example_gates = _get_example_gates(source_dag)"," mapped_instrs = {}",""," for gate_name, gate_num_qubits in source_basis:"," # Need to grab a gate instance to find num_qubits and num_params."," # Can be removed following https://github.com/Qiskit/qiskit-terra/pull/3947 ."," example_gate = example_gates[gate_name, gate_num_qubits]"," num_params = len(example_gate.params)",""," placeholder_params = ParameterVector(gate_name, num_params)"," placeholder_gate = Gate(gate_name, gate_num_qubits, list(placeholder_params))"," placeholder_gate.params = list(placeholder_params)",""," dag = DAGCircuit()"," qr = QuantumRegister(gate_num_qubits)"," dag.add_qreg(qr)"," dag.apply_operation_back(placeholder_gate, qr, (), check=False)"," mapped_instrs[gate_name, gate_num_qubits] = placeholder_params, dag",""," for gate_name, gate_num_qubits, equiv_params, equiv in basis_transforms:"," logger.debug("," \"Composing transform step: %s/%s %s =>\\n%s\","," gate_name,"," gate_num_qubits,"," equiv_params,"," equiv,"," )",""," for mapped_instr_name, (dag_params, dag) in mapped_instrs.items():"," doomed_nodes = ["," node"," for node in dag.op_nodes()"," if (node.op.name, node.op.num_qubits) == (gate_name, gate_num_qubits)"," ]",""," if doomed_nodes and logger.isEnabledFor(logging.DEBUG):",""," logger.debug("," \"Updating transform for mapped instr %s %s from \\n%s\","," mapped_instr_name,"," dag_params,"," dag_to_circuit(dag, copy_operations=False),"," )",""," for node in doomed_nodes:",""," replacement = equiv.assign_parameters("," dict(zip_longest(equiv_params, node.op.params))"," )",""," replacement_dag = circuit_to_dag(replacement)",""," dag.substitute_node_with_dag(node, replacement_dag)",""," if doomed_nodes and logger.isEnabledFor(logging.DEBUG):",""," logger.debug("," \"Updated transform for mapped instr %s %s to\\n%s\","," mapped_instr_name,"," dag_params,"," dag_to_circuit(dag, copy_operations=False),"," )",""," return mapped_instrs","","","def _get_example_gates(source_dag):"," def recurse(dag, example_gates=None):"," example_gates = example_gates or {}"," for node in dag.op_nodes():"," example_gates[(node.op.name, node.op.num_qubits)] = node.op"," if isinstance(node.op, ControlFlowOp):"," for block in node.op.blocks:"," example_gates = recurse(circuit_to_dag(block), example_gates)"," return example_gates",""," return recurse(source_dag)"],"stylingDirectives":[[{"start":0,"end":30,"cssClass":"pl-c"}],[{"start":0,"end":1,"cssClass":"pl-c"}],[{"start":0,"end":31,"cssClass":"pl-c"}],[{"start":0,"end":1,"cssClass":"pl-c"}],[{"start":0,"end":70,"cssClass":"pl-c"}],[{"start":0,"end":77,"cssClass":"pl-c"}],[{"start":0,"end":71,"cssClass":"pl-c"}],[{"start":0,"end":1,"cssClass":"pl-c"}],[{"start":0,"end":69,"cssClass":"pl-c"}],[{"start":0,"end":72,"cssClass":"pl-c"}],[{"start":0,"end":49,"cssClass":"pl-c"}],[],[],[{"start":0,"end":75,"cssClass":"pl-s"}],[],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":11,"cssClass":"pl-s1"}],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":14,"cssClass":"pl-s1"}],[],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":14,"cssClass":"pl-s1"},{"start":15,"end":21,"cssClass":"pl-k"},{"start":22,"end":42,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":14,"cssClass":"pl-s1"},{"start":15,"end":21,"cssClass":"pl-k"},{"start":22,"end":33,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":16,"cssClass":"pl-s1"},{"start":17,"end":23,"cssClass":"pl-k"},{"start":24,"end":35,"cssClass":"pl-s1"}],[],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":16,"cssClass":"pl-s1"}],[],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":26,"cssClass":"pl-k"}],[{"start":4,"end":8,"cssClass":"pl-v"}],[{"start":4,"end":19,"cssClass":"pl-v"}],[{"start":4,"end":19,"cssClass":"pl-v"}],[{"start":4,"end":17,"cssClass":"pl-v"}],[{"start":4,"end":18,"cssClass":"pl-v"}],[{"start":4,"end":23,"cssClass":"pl-v"}],[],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":22,"cssClass":"pl-s1"},{"start":23,"end":29,"cssClass":"pl-k"},{"start":30,"end":40,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":22,"cssClass":"pl-s1"},{"start":23,"end":29,"cssClass":"pl-k"},{"start":30,"end":44,"cssClass":"pl-s1"},{"start":46,"end":60,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":31,"cssClass":"pl-s1"},{"start":32,"end":38,"cssClass":"pl-k"},{"start":39,"end":42,"cssClass":"pl-v"},{"start":44,"end":52,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":22,"cssClass":"pl-s1"},{"start":23,"end":33,"cssClass":"pl-s1"},{"start":34,"end":40,"cssClass":"pl-k"},{"start":41,"end":59,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":22,"cssClass":"pl-s1"},{"start":23,"end":33,"cssClass":"pl-s1"},{"start":34,"end":40,"cssClass":"pl-k"},{"start":41,"end":56,"cssClass":"pl-v"}],[],[{"start":0,"end":6,"cssClass":"pl-s1"},{"start":7,"end":8,"cssClass":"pl-c1"},{"start":9,"end":16,"cssClass":"pl-s1"},{"start":17,"end":26,"cssClass":"pl-en"},{"start":27,"end":35,"cssClass":"pl-s1"}],[],[],[{"start":0,"end":5,"cssClass":"pl-k"},{"start":6,"end":21,"cssClass":"pl-v"},{"start":22,"end":40,"cssClass":"pl-v"}],[{"start":4,"end":80,"cssClass":"pl-s"}],[{"start":0,"end":36,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":40,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":56,"cssClass":"pl-s"}],[{"start":0,"end":75,"cssClass":"pl-s"}],[{"start":0,"end":82,"cssClass":"pl-s"}],[{"start":0,"end":83,"cssClass":"pl-s"}],[{"start":0,"end":21,"cssClass":"pl-s"}],[{"start":0,"end":80,"cssClass":"pl-s"}],[{"start":0,"end":43,"cssClass":"pl-s"}],[{"start":0,"end":79,"cssClass":"pl-s"}],[{"start":0,"end":41,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":56,"cssClass":"pl-s"}],[{"start":0,"end":66,"cssClass":"pl-s"}],[{"start":0,"end":77,"cssClass":"pl-s"}],[{"start":0,"end":86,"cssClass":"pl-s"}],[{"start":0,"end":80,"cssClass":"pl-s"}],[{"start":0,"end":75,"cssClass":"pl-s"}],[{"start":0,"end":85,"cssClass":"pl-s"}],[{"start":0,"end":84,"cssClass":"pl-s"}],[{"start":0,"end":84,"cssClass":"pl-s"}],[{"start":0,"end":89,"cssClass":"pl-s"}],[{"start":0,"end":81,"cssClass":"pl-s"}],[{"start":0,"end":87,"cssClass":"pl-s"}],[{"start":0,"end":89,"cssClass":"pl-s"}],[{"start":0,"end":82,"cssClass":"pl-s"}],[{"start":0,"end":34,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":72,"cssClass":"pl-s"}],[{"start":0,"end":73,"cssClass":"pl-s"}],[{"start":0,"end":76,"cssClass":"pl-s"}],[{"start":0,"end":79,"cssClass":"pl-s"}],[{"start":0,"end":69,"cssClass":"pl-s"}],[{"start":0,"end":78,"cssClass":"pl-s"}],[{"start":0,"end":79,"cssClass":"pl-s"}],[{"start":0,"end":48,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":27,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":22,"cssClass":"pl-s"}],[{"start":0,"end":22,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":74,"cssClass":"pl-s"}],[{"start":0,"end":77,"cssClass":"pl-s"}],[{"start":0,"end":76,"cssClass":"pl-s"}],[{"start":0,"end":74,"cssClass":"pl-s"}],[{"start":0,"end":75,"cssClass":"pl-s"}],[{"start":0,"end":63,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":74,"cssClass":"pl-s"}],[{"start":0,"end":76,"cssClass":"pl-s"}],[{"start":0,"end":58,"cssClass":"pl-s"}],[{"start":0,"end":52,"cssClass":"pl-s"}],[{"start":0,"end":77,"cssClass":"pl-s"}],[{"start":0,"end":7,"cssClass":"pl-s"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":16,"cssClass":"pl-en"},{"start":17,"end":21,"cssClass":"pl-s1"},{"start":23,"end":42,"cssClass":"pl-s1"},{"start":44,"end":56,"cssClass":"pl-s1"},{"start":58,"end":64,"cssClass":"pl-s1"},{"start":64,"end":65,"cssClass":"pl-c1"},{"start":65,"end":69,"cssClass":"pl-c1"},{"start":71,"end":81,"cssClass":"pl-s1"},{"start":81,"end":82,"cssClass":"pl-c1"},{"start":82,"end":83,"cssClass":"pl-c1"}],[{"start":8,"end":49,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":77,"cssClass":"pl-s"}],[{"start":0,"end":80,"cssClass":"pl-s"}],[{"start":0,"end":64,"cssClass":"pl-s"}],[{"start":0,"end":93,"cssClass":"pl-s"}],[{"start":0,"end":59,"cssClass":"pl-s"}],[{"start":0,"end":86,"cssClass":"pl-s"}],[{"start":0,"end":33,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[],[{"start":8,"end":13,"cssClass":"pl-en"},{"start":16,"end":24,"cssClass":"pl-en"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":45,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":41,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":20,"cssClass":"pl-s1"},{"start":21,"end":22,"cssClass":"pl-c1"},{"start":23,"end":29,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":35,"cssClass":"pl-s1"},{"start":36,"end":37,"cssClass":"pl-c1"},{"start":38,"end":42,"cssClass":"pl-c1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":45,"cssClass":"pl-s1"},{"start":46,"end":47,"cssClass":"pl-c1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":37,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":24,"cssClass":"pl-c1"},{"start":25,"end":29,"cssClass":"pl-c1"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":39,"cssClass":"pl-s1"},{"start":40,"end":41,"cssClass":"pl-c1"},{"start":42,"end":46,"cssClass":"pl-s1"},{"start":47,"end":54,"cssClass":"pl-s1"},{"start":55,"end":85,"cssClass":"pl-en"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":49,"cssClass":"pl-s1"},{"start":50,"end":51,"cssClass":"pl-c1"},{"start":52,"end":63,"cssClass":"pl-en"},{"start":64,"end":67,"cssClass":"pl-s1"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":20,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":24,"end":28,"cssClass":"pl-s1"},{"start":29,"end":51,"cssClass":"pl-s1"}],[{"start":16,"end":19,"cssClass":"pl-k"},{"start":20,"end":24,"cssClass":"pl-s1"},{"start":25,"end":27,"cssClass":"pl-c1"},{"start":28,"end":32,"cssClass":"pl-s1"},{"start":33,"end":40,"cssClass":"pl-s1"},{"start":41,"end":45,"cssClass":"pl-s1"}],[{"start":20,"end":24,"cssClass":"pl-s1"},{"start":25,"end":57,"cssClass":"pl-s1"},{"start":58,"end":62,"cssClass":"pl-s1"},{"start":64,"end":67,"cssClass":"pl-en"},{"start":68,"end":72,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":11,"cssClass":"pl-en"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":18,"end":21,"cssClass":"pl-s1"}],[{"start":8,"end":61,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":39,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":15,"cssClass":"pl-s"}],[{"start":0,"end":66,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":16,"cssClass":"pl-s"}],[{"start":0,"end":43,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":15,"cssClass":"pl-s1"},{"start":16,"end":29,"cssClass":"pl-s1"},{"start":30,"end":32,"cssClass":"pl-c1"},{"start":33,"end":37,"cssClass":"pl-c1"},{"start":38,"end":41,"cssClass":"pl-c1"},{"start":42,"end":46,"cssClass":"pl-s1"},{"start":47,"end":54,"cssClass":"pl-s1"},{"start":55,"end":57,"cssClass":"pl-c1"},{"start":58,"end":62,"cssClass":"pl-c1"}],[{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":22,"cssClass":"pl-s1"}],[],[{"start":8,"end":20,"cssClass":"pl-s1"},{"start":21,"end":22,"cssClass":"pl-c1"},{"start":24,"end":29,"cssClass":"pl-s1"},{"start":31,"end":36,"cssClass":"pl-s1"},{"start":37,"end":40,"cssClass":"pl-k"},{"start":41,"end":46,"cssClass":"pl-s1"},{"start":48,"end":53,"cssClass":"pl-s1"},{"start":54,"end":56,"cssClass":"pl-c1"},{"start":57,"end":66,"cssClass":"pl-en"},{"start":67,"end":70,"cssClass":"pl-s1"},{"start":71,"end":77,"cssClass":"pl-s1"}],[],[{"start":8,"end":68,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":15,"cssClass":"pl-s1"},{"start":16,"end":23,"cssClass":"pl-s1"},{"start":24,"end":26,"cssClass":"pl-c1"},{"start":27,"end":31,"cssClass":"pl-c1"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":28,"end":37,"cssClass":"pl-s"},{"start":39,"end":46,"cssClass":"pl-s"},{"start":48,"end":57,"cssClass":"pl-s"},{"start":59,"end":69,"cssClass":"pl-s"},{"start":71,"end":78,"cssClass":"pl-s"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":30,"cssClass":"pl-en"},{"start":31,"end":35,"cssClass":"pl-s1"},{"start":36,"end":49,"cssClass":"pl-s1"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":30,"cssClass":"pl-en"},{"start":31,"end":35,"cssClass":"pl-s1"},{"start":36,"end":50,"cssClass":"pl-en"},{"start":51,"end":54,"cssClass":"pl-s1"}],[{"start":12,"end":36,"cssClass":"pl-s1"},{"start":37,"end":38,"cssClass":"pl-c1"}],[{"start":8,"end":12,"cssClass":"pl-k"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":28,"end":37,"cssClass":"pl-s"},{"start":39,"end":49,"cssClass":"pl-s"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":31,"cssClass":"pl-s1"},{"start":32,"end":39,"cssClass":"pl-s1"},{"start":40,"end":44,"cssClass":"pl-en"},{"start":47,"end":48,"cssClass":"pl-c1"},{"start":49,"end":52,"cssClass":"pl-en"},{"start":53,"end":57,"cssClass":"pl-s1"},{"start":58,"end":80,"cssClass":"pl-s1"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":26,"end":50,"cssClass":"pl-s1"},{"start":51,"end":52,"cssClass":"pl-c1"},{"start":53,"end":57,"cssClass":"pl-s1"},{"start":58,"end":79,"cssClass":"pl-en"},{"start":80,"end":83,"cssClass":"pl-s1"},{"start":85,"end":97,"cssClass":"pl-s1"}],[],[{"start":8,"end":20,"cssClass":"pl-s1"},{"start":21,"end":22,"cssClass":"pl-c1"},{"start":23,"end":26,"cssClass":"pl-en"},{"start":27,"end":39,"cssClass":"pl-s1"},{"start":41,"end":46,"cssClass":"pl-en"},{"start":47,"end":59,"cssClass":"pl-s1"}],[{"start":8,"end":84,"cssClass":"pl-c"}],[{"start":8,"end":83,"cssClass":"pl-c"}],[{"start":8,"end":42,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":23,"cssClass":"pl-s1"},{"start":24,"end":32,"cssClass":"pl-en"},{"start":33,"end":45,"cssClass":"pl-s1"},{"start":47,"end":50,"cssClass":"pl-c1"},{"start":51,"end":54,"cssClass":"pl-c1"},{"start":55,"end":79,"cssClass":"pl-s1"}],[{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":22,"cssClass":"pl-s1"}],[],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":19,"cssClass":"pl-en"}],[{"start":12,"end":76,"cssClass":"pl-s"}],[{"start":12,"end":24,"cssClass":"pl-s1"}],[{"start":12,"end":24,"cssClass":"pl-s1"}],[],[],[{"start":8,"end":56,"cssClass":"pl-c"}],[{"start":8,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":32,"cssClass":"pl-s1"},{"start":33,"end":37,"cssClass":"pl-en"}],[{"start":8,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":40,"cssClass":"pl-en"},{"start":41,"end":45,"cssClass":"pl-s1"},{"start":46,"end":56,"cssClass":"pl-s1"},{"start":58,"end":70,"cssClass":"pl-s1"},{"start":72,"end":84,"cssClass":"pl-s1"}],[],[{"start":8,"end":35,"cssClass":"pl-s1"},{"start":36,"end":37,"cssClass":"pl-c1"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":18,"end":36,"cssClass":"pl-s1"},{"start":37,"end":39,"cssClass":"pl-c1"},{"start":40,"end":64,"cssClass":"pl-s1"},{"start":65,"end":70,"cssClass":"pl-en"}],[{"start":12,"end":27,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":30,"end":33,"cssClass":"pl-en"},{"start":34,"end":46,"cssClass":"pl-s1"}],[{"start":12,"end":80,"cssClass":"pl-c"}],[{"start":12,"end":80,"cssClass":"pl-c"}],[{"start":12,"end":79,"cssClass":"pl-c"}],[{"start":12,"end":60,"cssClass":"pl-c"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":18,"cssClass":"pl-en"},{"start":19,"end":23,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":28,"cssClass":"pl-c1"}],[{"start":16,"end":19,"cssClass":"pl-k"},{"start":20,"end":34,"cssClass":"pl-s1"},{"start":36,"end":47,"cssClass":"pl-s1"},{"start":48,"end":50,"cssClass":"pl-c1"},{"start":51,"end":55,"cssClass":"pl-s1"},{"start":56,"end":88,"cssClass":"pl-s1"},{"start":89,"end":94,"cssClass":"pl-en"}],[{"start":20,"end":22,"cssClass":"pl-k"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":28,"end":38,"cssClass":"pl-en"},{"start":39,"end":53,"cssClass":"pl-s1"}],[{"start":24,"end":39,"cssClass":"pl-s1"},{"start":43,"end":54,"cssClass":"pl-s1"}],[{"start":12,"end":16,"cssClass":"pl-k"}],[{"start":16,"end":31,"cssClass":"pl-s1"},{"start":35,"end":39,"cssClass":"pl-s1"},{"start":40,"end":72,"cssClass":"pl-s1"},{"start":73,"end":78,"cssClass":"pl-en"},{"start":79,"end":83,"cssClass":"pl-s1"}],[],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":19,"end":23,"cssClass":"pl-en"}],[{"start":16,"end":83,"cssClass":"pl-s"}],[{"start":16,"end":38,"cssClass":"pl-s"}],[{"start":16,"end":34,"cssClass":"pl-s1"}],[{"start":16,"end":31,"cssClass":"pl-s1"}],[{"start":16,"end":20,"cssClass":"pl-s1"}],[],[{"start":12,"end":34,"cssClass":"pl-s1"},{"start":35,"end":36,"cssClass":"pl-c1"},{"start":37,"end":50,"cssClass":"pl-en"}],[{"start":16,"end":20,"cssClass":"pl-s1"},{"start":21,"end":31,"cssClass":"pl-s1"},{"start":33,"end":51,"cssClass":"pl-s1"},{"start":53,"end":68,"cssClass":"pl-s1"}],[],[],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":37,"cssClass":"pl-s1"},{"start":38,"end":40,"cssClass":"pl-c1"},{"start":41,"end":45,"cssClass":"pl-c1"}],[{"start":16,"end":21,"cssClass":"pl-k"},{"start":22,"end":37,"cssClass":"pl-v"}],[{"start":20,"end":73,"cssClass":"pl-s"}],[{"start":20,"end":90,"cssClass":"pl-s"},{"start":22,"end":58,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-kos"},{"start":24,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":29,"end":32,"cssClass":"pl-k"},{"start":33,"end":34,"cssClass":"pl-s1"},{"start":35,"end":37,"cssClass":"pl-c1"},{"start":38,"end":56,"cssClass":"pl-s1"},{"start":57,"end":58,"cssClass":"pl-kos"}],[{"start":20,"end":95,"cssClass":"pl-s"},{"start":47,"end":70,"cssClass":"pl-s1"},{"start":47,"end":48,"cssClass":"pl-kos"},{"start":48,"end":52,"cssClass":"pl-en"},{"start":53,"end":68,"cssClass":"pl-s1"},{"start":69,"end":70,"cssClass":"pl-kos"}],[{"start":20,"end":94,"cssClass":"pl-s"}],[{"start":20,"end":92,"cssClass":"pl-s"}],[{"start":20,"end":33,"cssClass":"pl-s"}],[{"start":20,"end":80,"cssClass":"pl-s"}],[{"start":20,"end":56,"cssClass":"pl-s"}],[],[],[{"start":12,"end":39,"cssClass":"pl-s1"},{"start":40,"end":44,"cssClass":"pl-s1"},{"start":46,"end":47,"cssClass":"pl-c1"},{"start":48,"end":70,"cssClass":"pl-s1"}],[],[{"start":8,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":30,"cssClass":"pl-s1"},{"start":31,"end":35,"cssClass":"pl-en"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":19,"cssClass":"pl-en"}],[{"start":12,"end":63,"cssClass":"pl-s"},{"start":65,"end":80,"cssClass":"pl-s1"},{"start":81,"end":82,"cssClass":"pl-c1"},{"start":83,"end":100,"cssClass":"pl-s1"}],[],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":27,"cssClass":"pl-s1"},{"start":28,"end":30,"cssClass":"pl-c1"},{"start":31,"end":35,"cssClass":"pl-c1"}],[{"start":12,"end":17,"cssClass":"pl-k"},{"start":18,"end":33,"cssClass":"pl-v"}],[{"start":16,"end":69,"cssClass":"pl-s"}],[{"start":16,"end":98,"cssClass":"pl-s"},{"start":18,"end":48,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-kos"},{"start":20,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":25,"end":28,"cssClass":"pl-k"},{"start":29,"end":30,"cssClass":"pl-s1"},{"start":31,"end":33,"cssClass":"pl-c1"},{"start":34,"end":46,"cssClass":"pl-s1"},{"start":47,"end":48,"cssClass":"pl-kos"}],[{"start":16,"end":100,"cssClass":"pl-s"},{"start":25,"end":45,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-kos"},{"start":26,"end":30,"cssClass":"pl-en"},{"start":31,"end":43,"cssClass":"pl-s1"},{"start":44,"end":45,"cssClass":"pl-kos"}],[{"start":16,"end":99,"cssClass":"pl-s"}],[{"start":16,"end":60,"cssClass":"pl-s"}],[{"start":16,"end":76,"cssClass":"pl-s"}],[{"start":16,"end":52,"cssClass":"pl-s"}],[],[],[{"start":8,"end":74,"cssClass":"pl-c"}],[],[{"start":8,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":33,"cssClass":"pl-s1"},{"start":34,"end":38,"cssClass":"pl-en"}],[{"start":8,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":20,"end":39,"cssClass":"pl-en"},{"start":40,"end":56,"cssClass":"pl-s1"},{"start":58,"end":70,"cssClass":"pl-s1"},{"start":72,"end":75,"cssClass":"pl-s1"}],[{"start":8,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":18,"end":37,"cssClass":"pl-en"},{"start":38,"end":48,"cssClass":"pl-s1"},{"start":50,"end":74,"cssClass":"pl-s1"},{"start":75,"end":79,"cssClass":"pl-s1"},{"start":82,"end":85,"cssClass":"pl-s1"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":20,"cssClass":"pl-s1"},{"start":22,"end":32,"cssClass":"pl-s1"},{"start":33,"end":35,"cssClass":"pl-c1"},{"start":36,"end":63,"cssClass":"pl-s1"},{"start":64,"end":69,"cssClass":"pl-en"}],[],[],[{"start":8,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":31,"cssClass":"pl-s1"},{"start":32,"end":36,"cssClass":"pl-en"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":19,"cssClass":"pl-en"}],[{"start":12,"end":56,"cssClass":"pl-s"},{"start":58,"end":74,"cssClass":"pl-s1"},{"start":75,"end":76,"cssClass":"pl-c1"},{"start":77,"end":95,"cssClass":"pl-s1"}],[],[],[{"start":8,"end":63,"cssClass":"pl-c"}],[],[{"start":8,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":33,"cssClass":"pl-s1"},{"start":34,"end":38,"cssClass":"pl-en"}],[],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":29,"cssClass":"pl-en"},{"start":30,"end":33,"cssClass":"pl-s1"},{"start":35,"end":43,"cssClass":"pl-s1"}],[{"start":12,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":31,"cssClass":"pl-c1"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":20,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":24,"end":27,"cssClass":"pl-s1"},{"start":28,"end":36,"cssClass":"pl-en"}],[{"start":16,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":34,"cssClass":"pl-en"},{"start":35,"end":43,"cssClass":"pl-s1"},{"start":44,"end":47,"cssClass":"pl-s1"},{"start":49,"end":52,"cssClass":"pl-k"},{"start":53,"end":56,"cssClass":"pl-s1"},{"start":57,"end":59,"cssClass":"pl-c1"},{"start":60,"end":64,"cssClass":"pl-s1"},{"start":65,"end":70,"cssClass":"pl-s1"}],[{"start":16,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":37,"cssClass":"pl-en"},{"start":38,"end":48,"cssClass":"pl-s1"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":19,"end":23,"cssClass":"pl-s1"},{"start":24,"end":28,"cssClass":"pl-s1"},{"start":29,"end":31,"cssClass":"pl-c1"},{"start":32,"end":44,"cssClass":"pl-s1"},{"start":45,"end":47,"cssClass":"pl-c1"},{"start":48,"end":51,"cssClass":"pl-en"},{"start":52,"end":56,"cssClass":"pl-s1"},{"start":57,"end":62,"cssClass":"pl-s1"},{"start":64,"end":65,"cssClass":"pl-c1"},{"start":66,"end":70,"cssClass":"pl-s1"},{"start":71,"end":82,"cssClass":"pl-s1"}],[{"start":20,"end":22,"cssClass":"pl-k"},{"start":23,"end":33,"cssClass":"pl-en"},{"start":34,"end":38,"cssClass":"pl-s1"},{"start":39,"end":41,"cssClass":"pl-s1"},{"start":43,"end":56,"cssClass":"pl-v"}],[{"start":24,"end":35,"cssClass":"pl-s1"},{"start":36,"end":37,"cssClass":"pl-c1"}],[{"start":24,"end":27,"cssClass":"pl-k"},{"start":28,"end":33,"cssClass":"pl-s1"},{"start":34,"end":36,"cssClass":"pl-c1"},{"start":37,"end":41,"cssClass":"pl-s1"},{"start":42,"end":44,"cssClass":"pl-s1"},{"start":45,"end":51,"cssClass":"pl-s1"}],[{"start":28,"end":37,"cssClass":"pl-s1"},{"start":38,"end":39,"cssClass":"pl-c1"},{"start":40,"end":54,"cssClass":"pl-en"},{"start":55,"end":60,"cssClass":"pl-s1"}],[{"start":28,"end":39,"cssClass":"pl-s1"},{"start":40,"end":41,"cssClass":"pl-c1"},{"start":42,"end":59,"cssClass":"pl-en"}],[{"start":32,"end":41,"cssClass":"pl-s1"}],[],[{"start":36,"end":41,"cssClass":"pl-s1"},{"start":43,"end":51,"cssClass":"pl-s1"},{"start":52,"end":57,"cssClass":"pl-s1"}],[{"start":36,"end":39,"cssClass":"pl-k"},{"start":40,"end":45,"cssClass":"pl-s1"},{"start":47,"end":52,"cssClass":"pl-s1"},{"start":53,"end":55,"cssClass":"pl-c1"},{"start":56,"end":59,"cssClass":"pl-en"},{"start":60,"end":65,"cssClass":"pl-s1"},{"start":66,"end":72,"cssClass":"pl-s1"},{"start":74,"end":78,"cssClass":"pl-s1"},{"start":79,"end":84,"cssClass":"pl-s1"}],[],[],[{"start":28,"end":30,"cssClass":"pl-k"},{"start":31,"end":42,"cssClass":"pl-s1"}],[{"start":32,"end":47,"cssClass":"pl-s1"},{"start":48,"end":49,"cssClass":"pl-c1"},{"start":50,"end":64,"cssClass":"pl-en"},{"start":65,"end":74,"cssClass":"pl-s1"}],[{"start":28,"end":32,"cssClass":"pl-k"}],[{"start":32,"end":47,"cssClass":"pl-s1"},{"start":48,"end":49,"cssClass":"pl-c1"},{"start":50,"end":55,"cssClass":"pl-s1"}],[{"start":28,"end":39,"cssClass":"pl-s1"},{"start":40,"end":46,"cssClass":"pl-en"},{"start":47,"end":62,"cssClass":"pl-s1"}],[{"start":24,"end":28,"cssClass":"pl-s1"},{"start":29,"end":31,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-c1"},{"start":34,"end":38,"cssClass":"pl-s1"},{"start":39,"end":41,"cssClass":"pl-s1"},{"start":42,"end":56,"cssClass":"pl-en"},{"start":57,"end":68,"cssClass":"pl-s1"}],[{"start":20,"end":28,"cssClass":"pl-k"}],[{"start":16,"end":18,"cssClass":"pl-k"}],[{"start":20,"end":30,"cssClass":"pl-s1"},{"start":31,"end":33,"cssClass":"pl-c1"},{"start":34,"end":38,"cssClass":"pl-s1"},{"start":39,"end":71,"cssClass":"pl-s1"}],[{"start":20,"end":23,"cssClass":"pl-c1"},{"start":24,"end":28,"cssClass":"pl-s1"},{"start":29,"end":33,"cssClass":"pl-s1"},{"start":34,"end":36,"cssClass":"pl-c1"},{"start":37,"end":41,"cssClass":"pl-s1"},{"start":42,"end":74,"cssClass":"pl-s1"},{"start":75,"end":85,"cssClass":"pl-s1"}],[],[{"start":20,"end":28,"cssClass":"pl-k"}],[],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":19,"end":22,"cssClass":"pl-s1"},{"start":23,"end":42,"cssClass":"pl-en"},{"start":43,"end":47,"cssClass":"pl-s1"}],[{"start":20,"end":28,"cssClass":"pl-k"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":19,"end":28,"cssClass":"pl-s1"},{"start":29,"end":31,"cssClass":"pl-c1"},{"start":32,"end":47,"cssClass":"pl-s1"}],[{"start":20,"end":24,"cssClass":"pl-s1"},{"start":25,"end":38,"cssClass":"pl-en"},{"start":39,"end":42,"cssClass":"pl-s1"},{"start":44,"end":48,"cssClass":"pl-s1"},{"start":50,"end":65,"cssClass":"pl-s1"},{"start":66,"end":75,"cssClass":"pl-s1"}],[{"start":16,"end":20,"cssClass":"pl-k"},{"start":22,"end":26,"cssClass":"pl-s1"},{"start":27,"end":29,"cssClass":"pl-s1"},{"start":30,"end":34,"cssClass":"pl-s1"},{"start":36,"end":40,"cssClass":"pl-s1"},{"start":41,"end":43,"cssClass":"pl-s1"},{"start":44,"end":54,"cssClass":"pl-s1"},{"start":56,"end":58,"cssClass":"pl-c1"},{"start":59,"end":68,"cssClass":"pl-s1"}],[{"start":20,"end":24,"cssClass":"pl-s1"},{"start":25,"end":38,"cssClass":"pl-en"},{"start":39,"end":42,"cssClass":"pl-s1"},{"start":44,"end":48,"cssClass":"pl-s1"},{"start":50,"end":59,"cssClass":"pl-s1"}],[{"start":16,"end":20,"cssClass":"pl-k"}],[{"start":20,"end":25,"cssClass":"pl-k"},{"start":26,"end":41,"cssClass":"pl-v"},{"start":42,"end":85,"cssClass":"pl-s"},{"start":72,"end":83,"cssClass":"pl-s1"},{"start":72,"end":73,"cssClass":"pl-kos"},{"start":73,"end":77,"cssClass":"pl-s1"},{"start":78,"end":82,"cssClass":"pl-s1"},{"start":82,"end":83,"cssClass":"pl-kos"}],[{"start":16,"end":27,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":30,"end":34,"cssClass":"pl-c1"}],[{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":30,"cssClass":"pl-s1"}],[],[{"start":8,"end":25,"cssClass":"pl-en"},{"start":26,"end":29,"cssClass":"pl-s1"},{"start":31,"end":43,"cssClass":"pl-s1"}],[{"start":8,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":31,"cssClass":"pl-s1"},{"start":32,"end":36,"cssClass":"pl-en"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":19,"cssClass":"pl-en"}],[{"start":12,"end":63,"cssClass":"pl-s"}],[{"start":12,"end":28,"cssClass":"pl-s1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":31,"end":49,"cssClass":"pl-s1"}],[],[],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":18,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":21,"cssClass":"pl-en"},{"start":22,"end":26,"cssClass":"pl-s1"},{"start":28,"end":31,"cssClass":"pl-s1"},{"start":33,"end":37,"cssClass":"pl-s1"},{"start":39,"end":48,"cssClass":"pl-s1"}],[{"start":8,"end":21,"cssClass":"pl-s1"},{"start":23,"end":33,"cssClass":"pl-s1"},{"start":34,"end":35,"cssClass":"pl-c1"},{"start":36,"end":45,"cssClass":"pl-s1"},{"start":46,"end":50,"cssClass":"pl-s1"},{"start":51,"end":53,"cssClass":"pl-s1"},{"start":54,"end":58,"cssClass":"pl-s1"},{"start":60,"end":64,"cssClass":"pl-s1"},{"start":65,"end":67,"cssClass":"pl-s1"},{"start":68,"end":78,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-en"},{"start":15,"end":19,"cssClass":"pl-s1"},{"start":20,"end":22,"cssClass":"pl-s1"},{"start":23,"end":29,"cssClass":"pl-s1"},{"start":31,"end":33,"cssClass":"pl-c1"},{"start":34,"end":37,"cssClass":"pl-en"},{"start":38,"end":51,"cssClass":"pl-s1"}],[{"start":12,"end":17,"cssClass":"pl-k"},{"start":18,"end":33,"cssClass":"pl-v"}],[{"start":16,"end":68,"cssClass":"pl-s"}],[{"start":16,"end":47,"cssClass":"pl-s"},{"start":42,"end":44,"cssClass":"pl-cce"},{"start":48,"end":54,"cssClass":"pl-en"}],[{"start":20,"end":24,"cssClass":"pl-s1"},{"start":25,"end":27,"cssClass":"pl-s1"},{"start":28,"end":34,"cssClass":"pl-s1"},{"start":36,"end":40,"cssClass":"pl-s1"},{"start":41,"end":43,"cssClass":"pl-s1"},{"start":44,"end":48,"cssClass":"pl-s1"},{"start":50,"end":63,"cssClass":"pl-s1"},{"start":65,"end":75,"cssClass":"pl-s1"}],[],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":15,"cssClass":"pl-s1"},{"start":16,"end":18,"cssClass":"pl-s1"},{"start":19,"end":25,"cssClass":"pl-s1"}],[{"start":12,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":32,"cssClass":"pl-en"},{"start":33,"end":36,"cssClass":"pl-en"},{"start":37,"end":50,"cssClass":"pl-s1"},{"start":52,"end":56,"cssClass":"pl-s1"},{"start":57,"end":59,"cssClass":"pl-s1"},{"start":60,"end":66,"cssClass":"pl-s1"}],[{"start":12,"end":28,"cssClass":"pl-s1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":31,"end":41,"cssClass":"pl-s1"},{"start":42,"end":57,"cssClass":"pl-en"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":26,"cssClass":"pl-s1"},{"start":27,"end":29,"cssClass":"pl-c1"},{"start":30,"end":40,"cssClass":"pl-s1"},{"start":41,"end":61,"cssClass":"pl-en"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":19,"end":22,"cssClass":"pl-en"},{"start":23,"end":33,"cssClass":"pl-en"},{"start":34,"end":35,"cssClass":"pl-s1"},{"start":37,"end":56,"cssClass":"pl-v"},{"start":58,"end":61,"cssClass":"pl-k"},{"start":62,"end":63,"cssClass":"pl-s1"},{"start":64,"end":66,"cssClass":"pl-c1"},{"start":67,"end":77,"cssClass":"pl-s1"},{"start":78,"end":80,"cssClass":"pl-s1"},{"start":81,"end":87,"cssClass":"pl-s1"}],[{"start":20,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":39,"cssClass":"pl-s1"},{"start":40,"end":42,"cssClass":"pl-s1"},{"start":43,"end":47,"cssClass":"pl-en"}],[{"start":20,"end":30,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-c1"}],[{"start":20,"end":23,"cssClass":"pl-k"},{"start":24,"end":29,"cssClass":"pl-s1"},{"start":30,"end":32,"cssClass":"pl-c1"},{"start":33,"end":39,"cssClass":"pl-s1"},{"start":40,"end":46,"cssClass":"pl-s1"}],[{"start":24,"end":26,"cssClass":"pl-k"},{"start":27,"end":30,"cssClass":"pl-c1"},{"start":31,"end":41,"cssClass":"pl-en"},{"start":42,"end":47,"cssClass":"pl-s1"},{"start":49,"end":68,"cssClass":"pl-v"}],[{"start":28,"end":38,"cssClass":"pl-s1"},{"start":39,"end":45,"cssClass":"pl-en"},{"start":46,"end":51,"cssClass":"pl-s1"}],[{"start":24,"end":28,"cssClass":"pl-k"}],[{"start":28,"end":37,"cssClass":"pl-s1"},{"start":38,"end":39,"cssClass":"pl-c1"},{"start":41,"end":42,"cssClass":"pl-s1"},{"start":44,"end":57,"cssClass":"pl-s1"},{"start":58,"end":59,"cssClass":"pl-s1"},{"start":61,"end":64,"cssClass":"pl-k"},{"start":65,"end":66,"cssClass":"pl-s1"},{"start":67,"end":69,"cssClass":"pl-c1"},{"start":70,"end":75,"cssClass":"pl-s1"},{"start":76,"end":86,"cssClass":"pl-s1"}],[{"start":28,"end":30,"cssClass":"pl-k"},{"start":31,"end":34,"cssClass":"pl-en"},{"start":35,"end":45,"cssClass":"pl-en"},{"start":46,"end":47,"cssClass":"pl-s1"},{"start":49,"end":68,"cssClass":"pl-v"},{"start":70,"end":73,"cssClass":"pl-k"},{"start":74,"end":75,"cssClass":"pl-s1"},{"start":76,"end":78,"cssClass":"pl-c1"},{"start":79,"end":88,"cssClass":"pl-s1"},{"start":89,"end":95,"cssClass":"pl-en"}],[{"start":32,"end":41,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-c1"},{"start":44,"end":49,"cssClass":"pl-s1"}],[{"start":32,"end":35,"cssClass":"pl-k"},{"start":36,"end":37,"cssClass":"pl-s1"},{"start":38,"end":40,"cssClass":"pl-c1"},{"start":41,"end":50,"cssClass":"pl-s1"},{"start":51,"end":56,"cssClass":"pl-en"}],[{"start":36,"end":45,"cssClass":"pl-s1"},{"start":46,"end":47,"cssClass":"pl-c1"},{"start":48,"end":57,"cssClass":"pl-s1"},{"start":58,"end":64,"cssClass":"pl-en"},{"start":65,"end":66,"cssClass":"pl-c1"},{"start":66,"end":67,"cssClass":"pl-s1"}],[{"start":28,"end":32,"cssClass":"pl-k"}],[{"start":32,"end":41,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-c1"},{"start":44,"end":49,"cssClass":"pl-s1"},{"start":50,"end":54,"cssClass":"pl-en"},{"start":55,"end":64,"cssClass":"pl-s1"}],[{"start":28,"end":30,"cssClass":"pl-k"},{"start":31,"end":34,"cssClass":"pl-c1"},{"start":35,"end":44,"cssClass":"pl-s1"},{"start":45,"end":55,"cssClass":"pl-s1"}],[{"start":32,"end":41,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-c1"},{"start":44,"end":53,"cssClass":"pl-s1"},{"start":54,"end":61,"cssClass":"pl-en"}],[{"start":28,"end":38,"cssClass":"pl-s1"},{"start":39,"end":45,"cssClass":"pl-en"},{"start":46,"end":55,"cssClass":"pl-s1"}],[{"start":20,"end":26,"cssClass":"pl-s1"},{"start":27,"end":33,"cssClass":"pl-s1"},{"start":34,"end":35,"cssClass":"pl-c1"},{"start":36,"end":46,"cssClass":"pl-s1"}],[{"start":16,"end":20,"cssClass":"pl-k"}],[{"start":20,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":39,"cssClass":"pl-s1"},{"start":40,"end":42,"cssClass":"pl-s1"}],[{"start":16,"end":32,"cssClass":"pl-s1"},{"start":33,"end":53,"cssClass":"pl-en"},{"start":54,"end":60,"cssClass":"pl-s1"},{"start":62,"end":72,"cssClass":"pl-s1"},{"start":73,"end":78,"cssClass":"pl-s1"},{"start":80,"end":90,"cssClass":"pl-s1"},{"start":91,"end":96,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":25,"cssClass":"pl-en"},{"start":26,"end":36,"cssClass":"pl-s1"},{"start":37,"end":49,"cssClass":"pl-s1"},{"start":51,"end":70,"cssClass":"pl-v"}],[{"start":16,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":38,"cssClass":"pl-s1"},{"start":39,"end":51,"cssClass":"pl-s1"}],[{"start":16,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":29,"end":30,"cssClass":"pl-s1"},{"start":32,"end":45,"cssClass":"pl-s1"},{"start":46,"end":47,"cssClass":"pl-s1"},{"start":49,"end":52,"cssClass":"pl-k"},{"start":53,"end":54,"cssClass":"pl-s1"},{"start":55,"end":57,"cssClass":"pl-c1"},{"start":58,"end":67,"cssClass":"pl-s1"},{"start":68,"end":78,"cssClass":"pl-s1"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":19,"end":22,"cssClass":"pl-en"},{"start":23,"end":33,"cssClass":"pl-en"},{"start":34,"end":35,"cssClass":"pl-s1"},{"start":37,"end":56,"cssClass":"pl-v"},{"start":58,"end":61,"cssClass":"pl-k"},{"start":62,"end":63,"cssClass":"pl-s1"},{"start":64,"end":66,"cssClass":"pl-c1"},{"start":67,"end":76,"cssClass":"pl-s1"},{"start":77,"end":83,"cssClass":"pl-en"}],[{"start":20,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":32,"end":41,"cssClass":"pl-s1"}],[{"start":20,"end":23,"cssClass":"pl-k"},{"start":24,"end":25,"cssClass":"pl-s1"},{"start":26,"end":28,"cssClass":"pl-c1"},{"start":29,"end":38,"cssClass":"pl-s1"},{"start":39,"end":44,"cssClass":"pl-en"}],[{"start":24,"end":33,"cssClass":"pl-s1"},{"start":34,"end":35,"cssClass":"pl-c1"},{"start":36,"end":45,"cssClass":"pl-s1"},{"start":46,"end":52,"cssClass":"pl-en"},{"start":53,"end":54,"cssClass":"pl-c1"},{"start":54,"end":55,"cssClass":"pl-s1"}],[],[{"start":16,"end":20,"cssClass":"pl-k"}],[{"start":20,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":32,"end":41,"cssClass":"pl-s1"},{"start":42,"end":46,"cssClass":"pl-en"},{"start":47,"end":56,"cssClass":"pl-s1"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":19,"end":22,"cssClass":"pl-c1"},{"start":23,"end":32,"cssClass":"pl-s1"},{"start":33,"end":43,"cssClass":"pl-s1"}],[{"start":20,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":32,"end":41,"cssClass":"pl-s1"},{"start":42,"end":49,"cssClass":"pl-en"}],[{"start":20,"end":22,"cssClass":"pl-k"},{"start":23,"end":33,"cssClass":"pl-en"},{"start":34,"end":43,"cssClass":"pl-s1"},{"start":45,"end":52,"cssClass":"pl-s1"}],[{"start":24,"end":29,"cssClass":"pl-k"},{"start":30,"end":45,"cssClass":"pl-v"},{"start":46,"end":97,"cssClass":"pl-s"},{"start":84,"end":95,"cssClass":"pl-s1"},{"start":84,"end":85,"cssClass":"pl-kos"},{"start":85,"end":94,"cssClass":"pl-s1"},{"start":94,"end":95,"cssClass":"pl-kos"}],[{"start":16,"end":32,"cssClass":"pl-s1"},{"start":33,"end":45,"cssClass":"pl-s1"},{"start":46,"end":47,"cssClass":"pl-c1"},{"start":48,"end":57,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-k"}],[{"start":12,"end":28,"cssClass":"pl-s1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":31,"end":41,"cssClass":"pl-s1"}],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-en"},{"start":15,"end":31,"cssClass":"pl-s1"},{"start":32,"end":40,"cssClass":"pl-en"},{"start":44,"end":46,"cssClass":"pl-c1"},{"start":47,"end":48,"cssClass":"pl-c1"},{"start":49,"end":52,"cssClass":"pl-c1"},{"start":53,"end":56,"cssClass":"pl-en"}],[{"start":12,"end":28,"cssClass":"pl-s1"},{"start":29,"end":37,"cssClass":"pl-en"},{"start":40,"end":41,"cssClass":"pl-c1"},{"start":43,"end":48,"cssClass":"pl-s1"}],[{"start":10,"end":12,"cssClass":"pl-c1"},{"start":13,"end":16,"cssClass":"pl-en"},{"start":17,"end":21,"cssClass":"pl-s1"},{"start":22,"end":27,"cssClass":"pl-s1"}],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":37,"cssClass":"pl-s1"},{"start":38,"end":46,"cssClass":"pl-en"},{"start":49,"end":50,"cssClass":"pl-c1"},{"start":52,"end":54,"cssClass":"pl-s1"}],[{"start":12,"end":70,"cssClass":"pl-c"}],[{"start":12,"end":54,"cssClass":"pl-c"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":22,"cssClass":"pl-en"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":28,"end":30,"cssClass":"pl-s1"},{"start":32,"end":43,"cssClass":"pl-s"},{"start":45,"end":49,"cssClass":"pl-c1"}],[{"start":16,"end":22,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-c1"},{"start":25,"end":31,"cssClass":"pl-s1"},{"start":32,"end":36,"cssClass":"pl-en"}],[{"start":12,"end":15,"cssClass":"pl-s1"},{"start":16,"end":31,"cssClass":"pl-en"},{"start":32,"end":36,"cssClass":"pl-s1"},{"start":38,"end":44,"cssClass":"pl-s1"},{"start":46,"end":53,"cssClass":"pl-s1"},{"start":53,"end":54,"cssClass":"pl-c1"},{"start":54,"end":58,"cssClass":"pl-c1"}],[],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":31,"cssClass":"pl-s1"},{"start":32,"end":44,"cssClass":"pl-s1"}],[{"start":16,"end":19,"cssClass":"pl-s1"},{"start":20,"end":32,"cssClass":"pl-s1"},{"start":33,"end":35,"cssClass":"pl-c1"},{"start":36,"end":52,"cssClass":"pl-s1"},{"start":53,"end":65,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-k"}],[{"start":12,"end":15,"cssClass":"pl-s1"},{"start":16,"end":40,"cssClass":"pl-en"},{"start":41,"end":45,"cssClass":"pl-s1"},{"start":47,"end":63,"cssClass":"pl-s1"}],[],[{"start":4,"end":25,"cssClass":"pl-en"},{"start":5,"end":25,"cssClass":"pl-s1"}],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":22,"cssClass":"pl-en"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":29,"end":36,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":22,"cssClass":"pl-s1"}],[],[{"start":4,"end":28,"cssClass":"pl-en"},{"start":5,"end":19,"cssClass":"pl-s1"},{"start":20,"end":28,"cssClass":"pl-s1"}],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":9,"cssClass":"pl-en"},{"start":10,"end":14,"cssClass":"pl-s1"},{"start":16,"end":19,"cssClass":"pl-s1"},{"start":21,"end":31,"cssClass":"pl-v"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":19,"cssClass":"pl-c1"},{"start":20,"end":23,"cssClass":"pl-s1"},{"start":24,"end":32,"cssClass":"pl-en"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":18,"cssClass":"pl-c1"},{"start":19,"end":22,"cssClass":"pl-s1"},{"start":23,"end":42,"cssClass":"pl-en"},{"start":43,"end":47,"cssClass":"pl-s1"},{"start":49,"end":52,"cssClass":"pl-c1"},{"start":53,"end":56,"cssClass":"pl-en"},{"start":57,"end":61,"cssClass":"pl-s1"},{"start":62,"end":67,"cssClass":"pl-s1"},{"start":69,"end":71,"cssClass":"pl-c1"},{"start":72,"end":76,"cssClass":"pl-s1"},{"start":77,"end":88,"cssClass":"pl-s1"}],[{"start":16,"end":21,"cssClass":"pl-k"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":28,"end":32,"cssClass":"pl-s1"},{"start":34,"end":38,"cssClass":"pl-s1"},{"start":39,"end":41,"cssClass":"pl-s1"},{"start":42,"end":52,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":25,"cssClass":"pl-en"},{"start":26,"end":30,"cssClass":"pl-s1"},{"start":31,"end":33,"cssClass":"pl-s1"},{"start":35,"end":48,"cssClass":"pl-v"}],[{"start":16,"end":19,"cssClass":"pl-k"},{"start":20,"end":25,"cssClass":"pl-s1"},{"start":26,"end":28,"cssClass":"pl-c1"},{"start":29,"end":33,"cssClass":"pl-s1"},{"start":34,"end":36,"cssClass":"pl-s1"},{"start":37,"end":43,"cssClass":"pl-s1"}],[{"start":20,"end":25,"cssClass":"pl-k"},{"start":26,"end":30,"cssClass":"pl-k"},{"start":31,"end":35,"cssClass":"pl-s1"},{"start":36,"end":50,"cssClass":"pl-en"},{"start":51,"end":56,"cssClass":"pl-s1"}],[],[{"start":4,"end":28,"cssClass":"pl-en"},{"start":5,"end":19,"cssClass":"pl-s1"},{"start":20,"end":28,"cssClass":"pl-s1"}],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":9,"cssClass":"pl-en"},{"start":10,"end":14,"cssClass":"pl-s1"},{"start":16,"end":20,"cssClass":"pl-s1"},{"start":22,"end":36,"cssClass":"pl-v"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":23,"cssClass":"pl-s1"},{"start":24,"end":26,"cssClass":"pl-c1"},{"start":27,"end":31,"cssClass":"pl-s1"},{"start":32,"end":36,"cssClass":"pl-s1"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":24,"end":35,"cssClass":"pl-s1"},{"start":36,"end":45,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"}],[{"start":16,"end":19,"cssClass":"pl-c1"},{"start":20,"end":24,"cssClass":"pl-s1"},{"start":25,"end":44,"cssClass":"pl-en"},{"start":45,"end":56,"cssClass":"pl-s1"}],[{"start":16,"end":19,"cssClass":"pl-c1"},{"start":20,"end":23,"cssClass":"pl-en"},{"start":24,"end":35,"cssClass":"pl-s1"},{"start":36,"end":42,"cssClass":"pl-s1"},{"start":44,"end":46,"cssClass":"pl-c1"},{"start":47,"end":51,"cssClass":"pl-s1"},{"start":52,"end":63,"cssClass":"pl-s1"}],[],[{"start":16,"end":21,"cssClass":"pl-k"},{"start":23,"end":32,"cssClass":"pl-s1"},{"start":33,"end":37,"cssClass":"pl-s1"},{"start":39,"end":48,"cssClass":"pl-s1"},{"start":49,"end":59,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":25,"cssClass":"pl-en"},{"start":26,"end":35,"cssClass":"pl-s1"},{"start":37,"end":50,"cssClass":"pl-v"}],[{"start":16,"end":19,"cssClass":"pl-k"},{"start":20,"end":25,"cssClass":"pl-s1"},{"start":26,"end":28,"cssClass":"pl-c1"},{"start":29,"end":38,"cssClass":"pl-s1"},{"start":39,"end":45,"cssClass":"pl-s1"}],[{"start":20,"end":25,"cssClass":"pl-k"},{"start":26,"end":30,"cssClass":"pl-k"},{"start":31,"end":35,"cssClass":"pl-s1"},{"start":36,"end":50,"cssClass":"pl-en"},{"start":51,"end":56,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":29,"cssClass":"pl-en"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":14,"end":17,"cssClass":"pl-s1"},{"start":19,"end":31,"cssClass":"pl-s1"},{"start":33,"end":45,"cssClass":"pl-s1"},{"start":45,"end":46,"cssClass":"pl-c1"},{"start":46,"end":50,"cssClass":"pl-c1"},{"start":52,"end":76,"cssClass":"pl-s1"},{"start":76,"end":77,"cssClass":"pl-c1"},{"start":77,"end":81,"cssClass":"pl-c1"}],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":23,"cssClass":"pl-s1"},{"start":24,"end":26,"cssClass":"pl-c1"},{"start":27,"end":31,"cssClass":"pl-c1"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":30,"cssClass":"pl-en"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":35,"cssClass":"pl-s1"},{"start":36,"end":38,"cssClass":"pl-c1"},{"start":39,"end":43,"cssClass":"pl-c1"}],[{"start":12,"end":36,"cssClass":"pl-s1"},{"start":37,"end":38,"cssClass":"pl-c1"},{"start":39,"end":50,"cssClass":"pl-en"},{"start":51,"end":54,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":19,"cssClass":"pl-c1"},{"start":20,"end":23,"cssClass":"pl-s1"},{"start":24,"end":32,"cssClass":"pl-en"}],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":20,"end":25,"cssClass":"pl-en"},{"start":26,"end":38,"cssClass":"pl-s1"},{"start":39,"end":42,"cssClass":"pl-s1"},{"start":44,"end":47,"cssClass":"pl-k"},{"start":48,"end":51,"cssClass":"pl-s1"},{"start":52,"end":54,"cssClass":"pl-c1"},{"start":55,"end":59,"cssClass":"pl-s1"},{"start":60,"end":65,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":18,"cssClass":"pl-s1"},{"start":19,"end":38,"cssClass":"pl-en"},{"start":39,"end":43,"cssClass":"pl-s1"},{"start":45,"end":47,"cssClass":"pl-c1"},{"start":48,"end":51,"cssClass":"pl-en"},{"start":52,"end":56,"cssClass":"pl-s1"},{"start":57,"end":62,"cssClass":"pl-s1"},{"start":64,"end":65,"cssClass":"pl-c1"},{"start":66,"end":70,"cssClass":"pl-s1"},{"start":71,"end":82,"cssClass":"pl-s1"}],[{"start":16,"end":24,"cssClass":"pl-k"}],[{"start":12,"end":85,"cssClass":"pl-c"}],[{"start":12,"end":89,"cssClass":"pl-c"}],[{"start":12,"end":81,"cssClass":"pl-c"}],[{"start":12,"end":82,"cssClass":"pl-c"}],[{"start":12,"end":77,"cssClass":"pl-c"}],[{"start":12,"end":79,"cssClass":"pl-c"}],[{"start":12,"end":79,"cssClass":"pl-c"}],[{"start":12,"end":86,"cssClass":"pl-c"}],[{"start":12,"end":51,"cssClass":"pl-c"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":20,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":24,"end":28,"cssClass":"pl-s1"},{"start":29,"end":61,"cssClass":"pl-s1"},{"start":62,"end":64,"cssClass":"pl-c1"},{"start":65,"end":68,"cssClass":"pl-en"}],[{"start":16,"end":25,"cssClass":"pl-en"},{"start":26,"end":31,"cssClass":"pl-s1"},{"start":33,"end":43,"cssClass":"pl-en"},{"start":44,"end":60,"cssClass":"pl-s1"}],[{"start":16,"end":19,"cssClass":"pl-k"},{"start":20,"end":36,"cssClass":"pl-s1"},{"start":37,"end":39,"cssClass":"pl-c1"},{"start":40,"end":44,"cssClass":"pl-s1"},{"start":45,"end":77,"cssClass":"pl-s1"}],[],[{"start":16,"end":40,"cssClass":"pl-s1"},{"start":41,"end":50,"cssClass":"pl-en"},{"start":51,"end":56,"cssClass":"pl-s1"},{"start":59,"end":62,"cssClass":"pl-en"},{"start":64,"end":68,"cssClass":"pl-s1"},{"start":69,"end":73,"cssClass":"pl-s1"},{"start":75,"end":79,"cssClass":"pl-s1"},{"start":80,"end":82,"cssClass":"pl-s1"},{"start":83,"end":93,"cssClass":"pl-s1"}],[{"start":12,"end":16,"cssClass":"pl-k"}],[{"start":16,"end":28,"cssClass":"pl-s1"},{"start":29,"end":32,"cssClass":"pl-en"},{"start":34,"end":38,"cssClass":"pl-s1"},{"start":39,"end":43,"cssClass":"pl-s1"},{"start":45,"end":49,"cssClass":"pl-s1"},{"start":50,"end":52,"cssClass":"pl-s1"},{"start":53,"end":63,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":25,"cssClass":"pl-en"},{"start":26,"end":30,"cssClass":"pl-s1"},{"start":31,"end":33,"cssClass":"pl-s1"},{"start":35,"end":48,"cssClass":"pl-v"}],[{"start":16,"end":19,"cssClass":"pl-k"},{"start":20,"end":25,"cssClass":"pl-s1"},{"start":26,"end":28,"cssClass":"pl-c1"},{"start":29,"end":33,"cssClass":"pl-s1"},{"start":34,"end":36,"cssClass":"pl-s1"},{"start":37,"end":43,"cssClass":"pl-s1"}],[{"start":20,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":32,"end":46,"cssClass":"pl-en"},{"start":47,"end":52,"cssClass":"pl-s1"}],[{"start":20,"end":32,"cssClass":"pl-s1"},{"start":34,"end":58,"cssClass":"pl-s1"},{"start":59,"end":60,"cssClass":"pl-c1"},{"start":61,"end":65,"cssClass":"pl-s1"},{"start":66,"end":87,"cssClass":"pl-en"}],[{"start":24,"end":33,"cssClass":"pl-s1"}],[],[{"start":28,"end":33,"cssClass":"pl-s1"},{"start":35,"end":47,"cssClass":"pl-s1"},{"start":48,"end":53,"cssClass":"pl-s1"}],[{"start":28,"end":31,"cssClass":"pl-k"},{"start":32,"end":37,"cssClass":"pl-s1"},{"start":39,"end":44,"cssClass":"pl-s1"},{"start":45,"end":47,"cssClass":"pl-c1"},{"start":48,"end":51,"cssClass":"pl-en"},{"start":52,"end":57,"cssClass":"pl-s1"},{"start":58,"end":64,"cssClass":"pl-s1"},{"start":66,"end":70,"cssClass":"pl-s1"},{"start":71,"end":76,"cssClass":"pl-s1"}],[],[{"start":24,"end":36,"cssClass":"pl-s1"},{"start":36,"end":37,"cssClass":"pl-c1"},{"start":37,"end":49,"cssClass":"pl-s1"}],[{"start":24,"end":48,"cssClass":"pl-s1"},{"start":48,"end":49,"cssClass":"pl-c1"},{"start":49,"end":73,"cssClass":"pl-s1"}],[],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":27,"cssClass":"pl-s1"},{"start":29,"end":53,"cssClass":"pl-s1"}],[],[],[{"start":0,"end":5,"cssClass":"pl-k"},{"start":6,"end":27,"cssClass":"pl-v"},{"start":28,"end":37,"cssClass":"pl-v"}],[{"start":4,"end":76,"cssClass":"pl-s"}],[],[],[{"start":0,"end":5,"cssClass":"pl-k"},{"start":6,"end":24,"cssClass":"pl-v"},{"start":25,"end":34,"cssClass":"pl-s1"},{"start":35,"end":40,"cssClass":"pl-s1"},{"start":41,"end":56,"cssClass":"pl-v"}],[{"start":4,"end":68,"cssClass":"pl-s"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":16,"cssClass":"pl-en"},{"start":17,"end":21,"cssClass":"pl-s1"},{"start":23,"end":28,"cssClass":"pl-s1"},{"start":30,"end":42,"cssClass":"pl-s1"},{"start":44,"end":56,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":26,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":31,"cssClass":"pl-en"},{"start":32,"end":44,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":33,"cssClass":"pl-s1"},{"start":34,"end":35,"cssClass":"pl-c1"},{"start":36,"end":39,"cssClass":"pl-en"},{"start":40,"end":52,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":39,"cssClass":"pl-s1"},{"start":40,"end":41,"cssClass":"pl-c1"}],[{"start":8,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":22,"cssClass":"pl-c1"},{"start":22,"end":23,"cssClass":"pl-c1"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":25,"cssClass":"pl-s1"},{"start":26,"end":31,"cssClass":"pl-s1"},{"start":32,"end":37,"cssClass":"pl-en"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":25,"cssClass":"pl-s1"},{"start":26,"end":28,"cssClass":"pl-c1"},{"start":29,"end":34,"cssClass":"pl-s1"},{"start":35,"end":40,"cssClass":"pl-s1"}],[{"start":16,"end":24,"cssClass":"pl-k"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":43,"cssClass":"pl-s1"},{"start":44,"end":49,"cssClass":"pl-s1"},{"start":50,"end":55,"cssClass":"pl-s1"},{"start":57,"end":58,"cssClass":"pl-c1"},{"start":59,"end":64,"cssClass":"pl-s1"},{"start":65,"end":74,"cssClass":"pl-s1"}],[{"start":12,"end":22,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-c1"},{"start":25,"end":30,"cssClass":"pl-s1"},{"start":31,"end":36,"cssClass":"pl-s1"}],[],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":30,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-c1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":23,"cssClass":"pl-en"},{"start":24,"end":28,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-s1"},{"start":33,"end":38,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":15,"end":19,"cssClass":"pl-s1"},{"start":20,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-s1"},{"start":29,"end":32,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":33,"cssClass":"pl-s1"},{"start":34,"end":41,"cssClass":"pl-en"},{"start":42,"end":46,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":26,"cssClass":"pl-s1"},{"start":27,"end":31,"cssClass":"pl-s1"},{"start":33,"end":34,"cssClass":"pl-c1"},{"start":35,"end":40,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":15,"end":19,"cssClass":"pl-s1"},{"start":20,"end":33,"cssClass":"pl-s1"},{"start":34,"end":37,"cssClass":"pl-en"},{"start":38,"end":42,"cssClass":"pl-s1"},{"start":44,"end":48,"cssClass":"pl-c1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":15,"cssClass":"pl-s1"},{"start":16,"end":18,"cssClass":"pl-c1"},{"start":19,"end":22,"cssClass":"pl-c1"},{"start":23,"end":27,"cssClass":"pl-c1"}],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":19,"end":24,"cssClass":"pl-en"}],[{"start":16,"end":76,"cssClass":"pl-s"},{"start":46,"end":48,"cssClass":"pl-cce"},{"start":50,"end":52,"cssClass":"pl-cce"}],[{"start":16,"end":20,"cssClass":"pl-s1"},{"start":21,"end":25,"cssClass":"pl-s1"}],[{"start":16,"end":20,"cssClass":"pl-s1"},{"start":21,"end":28,"cssClass":"pl-s1"}],[{"start":16,"end":21,"cssClass":"pl-s1"}],[],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":34,"cssClass":"pl-s1"},{"start":35,"end":41,"cssClass":"pl-en"},{"start":43,"end":47,"cssClass":"pl-s1"},{"start":48,"end":52,"cssClass":"pl-s1"},{"start":54,"end":58,"cssClass":"pl-s1"},{"start":59,"end":69,"cssClass":"pl-s1"},{"start":71,"end":75,"cssClass":"pl-s1"},{"start":76,"end":82,"cssClass":"pl-s1"},{"start":84,"end":88,"cssClass":"pl-s1"},{"start":89,"end":96,"cssClass":"pl-s1"}],[{"start":8,"end":83,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-c1"},{"start":15,"end":19,"cssClass":"pl-s1"},{"start":20,"end":40,"cssClass":"pl-s1"}],[{"start":12,"end":100,"cssClass":"pl-c"}],[{"start":12,"end":96,"cssClass":"pl-c"}],[{"start":12,"end":99,"cssClass":"pl-c"}],[{"start":12,"end":27,"cssClass":"pl-c"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":34,"cssClass":"pl-s1"},{"start":35,"end":42,"cssClass":"pl-en"}],[{"start":12,"end":17,"cssClass":"pl-k"},{"start":18,"end":39,"cssClass":"pl-v"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":20,"cssClass":"pl-en"},{"start":21,"end":25,"cssClass":"pl-s1"},{"start":27,"end":31,"cssClass":"pl-s1"}],[{"start":8,"end":9,"cssClass":"pl-s1"},{"start":11,"end":17,"cssClass":"pl-s1"},{"start":19,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":31,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":16,"cssClass":"pl-s1"},{"start":17,"end":19,"cssClass":"pl-c1"},{"start":20,"end":24,"cssClass":"pl-c1"}],[{"start":12,"end":18,"cssClass":"pl-k"}],[],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":39,"cssClass":"pl-s1"},{"start":40,"end":45,"cssClass":"pl-s1"},{"start":46,"end":51,"cssClass":"pl-s1"},{"start":53,"end":55,"cssClass":"pl-c1"},{"start":56,"end":57,"cssClass":"pl-c1"}],[],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":17,"end":21,"cssClass":"pl-s1"},{"start":22,"end":27,"cssClass":"pl-s1"},{"start":28,"end":34,"cssClass":"pl-s1"},{"start":36,"end":39,"cssClass":"pl-s1"}],[{"start":8,"end":90,"cssClass":"pl-c"}],[{"start":8,"end":93,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":15,"cssClass":"pl-s1"},{"start":16,"end":42,"cssClass":"pl-s1"},{"start":43,"end":48,"cssClass":"pl-s1"},{"start":49,"end":54,"cssClass":"pl-s1"},{"start":56,"end":57,"cssClass":"pl-c1"},{"start":58,"end":59,"cssClass":"pl-c1"},{"start":60,"end":62,"cssClass":"pl-c1"},{"start":63,"end":69,"cssClass":"pl-s1"},{"start":70,"end":72,"cssClass":"pl-c1"},{"start":73,"end":77,"cssClass":"pl-s1"},{"start":78,"end":90,"cssClass":"pl-s1"}],[{"start":12,"end":17,"cssClass":"pl-k"},{"start":18,"end":27,"cssClass":"pl-s1"},{"start":28,"end":33,"cssClass":"pl-s1"},{"start":34,"end":45,"cssClass":"pl-v"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":20,"cssClass":"pl-en"},{"start":21,"end":25,"cssClass":"pl-s1"},{"start":27,"end":31,"cssClass":"pl-s1"}],[{"start":8,"end":9,"cssClass":"pl-s1"},{"start":11,"end":17,"cssClass":"pl-s1"},{"start":19,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":31,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":16,"cssClass":"pl-s1"},{"start":17,"end":19,"cssClass":"pl-c1"},{"start":20,"end":23,"cssClass":"pl-c1"},{"start":24,"end":28,"cssClass":"pl-c1"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":18,"cssClass":"pl-c1"},{"start":19,"end":23,"cssClass":"pl-s1"},{"start":24,"end":29,"cssClass":"pl-s1"},{"start":30,"end":36,"cssClass":"pl-s1"},{"start":38,"end":41,"cssClass":"pl-s1"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":30,"cssClass":"pl-s1"},{"start":31,"end":35,"cssClass":"pl-s1"},{"start":37,"end":38,"cssClass":"pl-c1"},{"start":39,"end":44,"cssClass":"pl-s1"},{"start":45,"end":49,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":17,"cssClass":"pl-en"},{"start":18,"end":22,"cssClass":"pl-s1"},{"start":24,"end":33,"cssClass":"pl-s1"}],[{"start":8,"end":39,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":68,"cssClass":"pl-s"}],[{"start":0,"end":70,"cssClass":"pl-s"}],[{"start":0,"end":72,"cssClass":"pl-s"}],[{"start":0,"end":26,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":20,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":24,"end":28,"cssClass":"pl-c1"}],[{"start":12,"end":67,"cssClass":"pl-c"}],[{"start":12,"end":48,"cssClass":"pl-c"}],[{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":20,"cssClass":"pl-c1"}],[],[{"start":8,"end":16,"cssClass":"pl-s1"},{"start":17,"end":18,"cssClass":"pl-c1"},{"start":19,"end":20,"cssClass":"pl-c1"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":23,"cssClass":"pl-s1"},{"start":24,"end":26,"cssClass":"pl-c1"},{"start":27,"end":36,"cssClass":"pl-s1"},{"start":37,"end":41,"cssClass":"pl-s1"},{"start":42,"end":49,"cssClass":"pl-s1"}],[{"start":12,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":21,"cssClass":"pl-v"},{"start":22,"end":26,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":27,"end":38,"cssClass":"pl-s1"},{"start":39,"end":48,"cssClass":"pl-s1"},{"start":49,"end":53,"cssClass":"pl-s1"},{"start":55,"end":65,"cssClass":"pl-s1"},{"start":65,"end":66,"cssClass":"pl-c1"},{"start":66,"end":69,"cssClass":"pl-en"},{"start":70,"end":81,"cssClass":"pl-s1"},{"start":82,"end":88,"cssClass":"pl-s1"}],[{"start":12,"end":20,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":24,"end":28,"cssClass":"pl-s1"},{"start":29,"end":42,"cssClass":"pl-s1"},{"start":43,"end":46,"cssClass":"pl-s1"}],[],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":30,"cssClass":"pl-s1"},{"start":31,"end":44,"cssClass":"pl-s1"},{"start":45,"end":54,"cssClass":"pl-s1"},{"start":55,"end":61,"cssClass":"pl-s1"}],[],[{"start":4,"end":13,"cssClass":"pl-en"},{"start":5,"end":13,"cssClass":"pl-s1"}],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":24,"cssClass":"pl-en"},{"start":25,"end":29,"cssClass":"pl-s1"}],[{"start":8,"end":48,"cssClass":"pl-s"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":19,"cssClass":"pl-s1"},{"start":20,"end":37,"cssClass":"pl-s1"}],[],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":17,"cssClass":"pl-en"},{"start":18,"end":27,"cssClass":"pl-s1"},{"start":29,"end":41,"cssClass":"pl-s1"},{"start":43,"end":55,"cssClass":"pl-s1"}],[{"start":4,"end":77,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":9,"cssClass":"pl-s"}],[{"start":0,"end":68,"cssClass":"pl-s"}],[{"start":0,"end":88,"cssClass":"pl-s"}],[{"start":0,"end":57,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":12,"cssClass":"pl-s"}],[{"start":0,"end":80,"cssClass":"pl-s"}],[{"start":0,"end":81,"cssClass":"pl-s"}],[{"start":0,"end":79,"cssClass":"pl-s"}],[{"start":0,"end":22,"cssClass":"pl-s"}],[{"start":0,"end":7,"cssClass":"pl-s"}],[],[{"start":4,"end":10,"cssClass":"pl-s1"},{"start":11,"end":16,"cssClass":"pl-en"},{"start":17,"end":55,"cssClass":"pl-s"},{"start":57,"end":69,"cssClass":"pl-s1"},{"start":71,"end":83,"cssClass":"pl-s1"}],[],[{"start":4,"end":16,"cssClass":"pl-s1"},{"start":17,"end":18,"cssClass":"pl-c1"}],[{"start":9,"end":18,"cssClass":"pl-s1"},{"start":20,"end":35,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":21,"cssClass":"pl-s1"},{"start":23,"end":38,"cssClass":"pl-s1"},{"start":39,"end":41,"cssClass":"pl-c1"},{"start":42,"end":54,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":20,"cssClass":"pl-s1"},{"start":21,"end":24,"cssClass":"pl-c1"},{"start":25,"end":27,"cssClass":"pl-c1"},{"start":28,"end":40,"cssClass":"pl-s1"}],[],[],[{"start":4,"end":51,"cssClass":"pl-c"}],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":10,"cssClass":"pl-c1"},{"start":11,"end":23,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-k"}],[],[{"start":4,"end":83,"cssClass":"pl-c"}],[{"start":4,"end":83,"cssClass":"pl-c"}],[{"start":4,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":25,"end":28,"cssClass":"pl-s1"},{"start":29,"end":32,"cssClass":"pl-k"},{"start":33,"end":36,"cssClass":"pl-s1"},{"start":37,"end":39,"cssClass":"pl-c1"},{"start":40,"end":49,"cssClass":"pl-s1"},{"start":50,"end":54,"cssClass":"pl-en"},{"start":57,"end":59,"cssClass":"pl-k"},{"start":60,"end":63,"cssClass":"pl-s1"},{"start":64,"end":68,"cssClass":"pl-s1"},{"start":69,"end":71,"cssClass":"pl-c1"},{"start":72,"end":84,"cssClass":"pl-s1"}],[],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":27,"cssClass":"pl-s1"}],[{"start":4,"end":7,"cssClass":"pl-s1"},{"start":8,"end":9,"cssClass":"pl-c1"},{"start":10,"end":28,"cssClass":"pl-v"},{"start":29,"end":34,"cssClass":"pl-s1"},{"start":36,"end":48,"cssClass":"pl-s1"},{"start":50,"end":67,"cssClass":"pl-s1"}],[],[{"start":4,"end":72,"cssClass":"pl-c"}],[{"start":4,"end":50,"cssClass":"pl-c"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":26,"cssClass":"pl-en"},{"start":27,"end":35,"cssClass":"pl-v"},{"start":36,"end":39,"cssClass":"pl-s1"},{"start":39,"end":40,"cssClass":"pl-c1"},{"start":40,"end":45,"cssClass":"pl-s"},{"start":47,"end":53,"cssClass":"pl-s1"},{"start":53,"end":54,"cssClass":"pl-c1"},{"start":56,"end":77,"cssClass":"pl-s"},{"start":79,"end":80,"cssClass":"pl-c1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"}],[{"start":8,"end":13,"cssClass":"pl-s1"},{"start":14,"end":36,"cssClass":"pl-en"}],[{"start":14,"end":19,"cssClass":"pl-s1"},{"start":21,"end":30,"cssClass":"pl-s1"},{"start":31,"end":41,"cssClass":"pl-en"},{"start":42,"end":45,"cssClass":"pl-s1"},{"start":48,"end":51,"cssClass":"pl-k"},{"start":52,"end":55,"cssClass":"pl-s1"},{"start":56,"end":58,"cssClass":"pl-c1"},{"start":59,"end":76,"cssClass":"pl-s1"}],[],[{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":14,"end":18,"cssClass":"pl-c1"}],[{"start":8,"end":11,"cssClass":"pl-k"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":45,"cssClass":"pl-en"},{"start":46,"end":51,"cssClass":"pl-s1"},{"start":54,"end":59,"cssClass":"pl-s1"},{"start":62,"end":65,"cssClass":"pl-s1"},{"start":66,"end":75,"cssClass":"pl-s1"},{"start":77,"end":80,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":36,"cssClass":"pl-v"}],[{"start":12,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":21,"cssClass":"pl-s1"},{"start":22,"end":38,"cssClass":"pl-s1"}],[],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":19,"end":24,"cssClass":"pl-en"},{"start":25,"end":47,"cssClass":"pl-s"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":25,"cssClass":"pl-s1"},{"start":27,"end":42,"cssClass":"pl-s1"},{"start":44,"end":50,"cssClass":"pl-s1"},{"start":52,"end":57,"cssClass":"pl-s1"},{"start":58,"end":60,"cssClass":"pl-c1"},{"start":61,"end":64,"cssClass":"pl-s1"}],[{"start":16,"end":22,"cssClass":"pl-s1"},{"start":23,"end":28,"cssClass":"pl-en"},{"start":29,"end":46,"cssClass":"pl-s"},{"start":41,"end":43,"cssClass":"pl-cce"},{"start":48,"end":57,"cssClass":"pl-s1"},{"start":59,"end":74,"cssClass":"pl-s1"},{"start":76,"end":82,"cssClass":"pl-s1"},{"start":84,"end":89,"cssClass":"pl-s1"}],[{"start":4,"end":11,"cssClass":"pl-k"}],[{"start":8,"end":70,"cssClass":"pl-c"}],[{"start":8,"end":13,"cssClass":"pl-s1"},{"start":14,"end":25,"cssClass":"pl-en"},{"start":26,"end":31,"cssClass":"pl-s1"}],[],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-s1"}],[],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":23,"cssClass":"pl-en"},{"start":24,"end":40,"cssClass":"pl-s1"},{"start":42,"end":54,"cssClass":"pl-s1"},{"start":56,"end":66,"cssClass":"pl-s1"}],[{"start":4,"end":68,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":9,"cssClass":"pl-s"}],[{"start":0,"end":73,"cssClass":"pl-s"}],[{"start":0,"end":34,"cssClass":"pl-s"}],[{"start":0,"end":78,"cssClass":"pl-s"}],[{"start":0,"end":49,"cssClass":"pl-s"}],[{"start":0,"end":74,"cssClass":"pl-s"}],[{"start":0,"end":68,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":12,"cssClass":"pl-s"}],[{"start":0,"end":81,"cssClass":"pl-s"}],[{"start":0,"end":77,"cssClass":"pl-s"}],[{"start":0,"end":78,"cssClass":"pl-s"}],[{"start":0,"end":39,"cssClass":"pl-s"}],[{"start":0,"end":7,"cssClass":"pl-s"}],[{"start":4,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":20,"end":38,"cssClass":"pl-en"},{"start":39,"end":49,"cssClass":"pl-s1"}],[{"start":4,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":17,"cssClass":"pl-s1"},{"start":19,"end":34,"cssClass":"pl-s1"},{"start":35,"end":37,"cssClass":"pl-c1"},{"start":38,"end":50,"cssClass":"pl-s1"}],[{"start":8,"end":73,"cssClass":"pl-c"}],[{"start":8,"end":85,"cssClass":"pl-c"}],[{"start":8,"end":20,"cssClass":"pl-s1"},{"start":21,"end":22,"cssClass":"pl-c1"},{"start":23,"end":36,"cssClass":"pl-s1"},{"start":37,"end":46,"cssClass":"pl-s1"},{"start":48,"end":63,"cssClass":"pl-s1"}],[{"start":8,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":24,"cssClass":"pl-en"},{"start":25,"end":37,"cssClass":"pl-s1"},{"start":38,"end":44,"cssClass":"pl-s1"}],[],[{"start":8,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":44,"cssClass":"pl-v"},{"start":45,"end":54,"cssClass":"pl-s1"},{"start":56,"end":66,"cssClass":"pl-s1"}],[{"start":8,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":31,"cssClass":"pl-v"},{"start":32,"end":41,"cssClass":"pl-s1"},{"start":43,"end":58,"cssClass":"pl-s1"},{"start":60,"end":64,"cssClass":"pl-en"},{"start":65,"end":83,"cssClass":"pl-s1"}],[{"start":8,"end":24,"cssClass":"pl-s1"},{"start":25,"end":31,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-c1"},{"start":34,"end":38,"cssClass":"pl-en"},{"start":39,"end":57,"cssClass":"pl-s1"}],[],[{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":14,"end":24,"cssClass":"pl-v"}],[{"start":8,"end":10,"cssClass":"pl-s1"},{"start":11,"end":12,"cssClass":"pl-c1"},{"start":13,"end":28,"cssClass":"pl-v"},{"start":29,"end":44,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":20,"cssClass":"pl-en"},{"start":21,"end":23,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":32,"cssClass":"pl-en"},{"start":33,"end":49,"cssClass":"pl-s1"},{"start":51,"end":53,"cssClass":"pl-s1"},{"start":59,"end":64,"cssClass":"pl-s1"},{"start":64,"end":65,"cssClass":"pl-c1"},{"start":65,"end":70,"cssClass":"pl-c1"}],[{"start":8,"end":21,"cssClass":"pl-s1"},{"start":22,"end":31,"cssClass":"pl-s1"},{"start":33,"end":48,"cssClass":"pl-s1"},{"start":50,"end":51,"cssClass":"pl-c1"},{"start":52,"end":70,"cssClass":"pl-s1"},{"start":72,"end":75,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":17,"cssClass":"pl-s1"},{"start":19,"end":34,"cssClass":"pl-s1"},{"start":36,"end":48,"cssClass":"pl-s1"},{"start":50,"end":55,"cssClass":"pl-s1"},{"start":56,"end":58,"cssClass":"pl-c1"},{"start":59,"end":75,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":20,"cssClass":"pl-en"}],[{"start":12,"end":55,"cssClass":"pl-s"},{"start":50,"end":52,"cssClass":"pl-cce"}],[{"start":12,"end":21,"cssClass":"pl-s1"}],[{"start":12,"end":27,"cssClass":"pl-s1"}],[{"start":12,"end":24,"cssClass":"pl-s1"}],[{"start":12,"end":17,"cssClass":"pl-s1"}],[],[],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":29,"cssClass":"pl-s1"},{"start":32,"end":42,"cssClass":"pl-s1"},{"start":44,"end":47,"cssClass":"pl-s1"},{"start":49,"end":51,"cssClass":"pl-c1"},{"start":52,"end":65,"cssClass":"pl-s1"},{"start":66,"end":71,"cssClass":"pl-en"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"}],[{"start":16,"end":20,"cssClass":"pl-s1"}],[{"start":16,"end":19,"cssClass":"pl-k"},{"start":20,"end":24,"cssClass":"pl-s1"},{"start":25,"end":27,"cssClass":"pl-c1"},{"start":28,"end":31,"cssClass":"pl-s1"},{"start":32,"end":40,"cssClass":"pl-en"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":20,"end":24,"cssClass":"pl-s1"},{"start":25,"end":27,"cssClass":"pl-s1"},{"start":28,"end":32,"cssClass":"pl-s1"},{"start":34,"end":38,"cssClass":"pl-s1"},{"start":39,"end":41,"cssClass":"pl-s1"},{"start":42,"end":52,"cssClass":"pl-s1"},{"start":54,"end":56,"cssClass":"pl-c1"},{"start":58,"end":67,"cssClass":"pl-s1"},{"start":69,"end":84,"cssClass":"pl-s1"}],[],[],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":27,"cssClass":"pl-s1"},{"start":28,"end":31,"cssClass":"pl-c1"},{"start":32,"end":38,"cssClass":"pl-s1"},{"start":39,"end":51,"cssClass":"pl-en"},{"start":52,"end":59,"cssClass":"pl-s1"},{"start":60,"end":65,"cssClass":"pl-v"}],[],[{"start":16,"end":22,"cssClass":"pl-s1"},{"start":23,"end":28,"cssClass":"pl-en"}],[{"start":20,"end":73,"cssClass":"pl-s"},{"start":68,"end":70,"cssClass":"pl-cce"}],[{"start":20,"end":37,"cssClass":"pl-s1"}],[{"start":20,"end":30,"cssClass":"pl-s1"}],[{"start":20,"end":34,"cssClass":"pl-en"},{"start":35,"end":38,"cssClass":"pl-s1"},{"start":40,"end":55,"cssClass":"pl-s1"},{"start":55,"end":56,"cssClass":"pl-c1"},{"start":56,"end":61,"cssClass":"pl-c1"}],[],[],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":20,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":24,"end":36,"cssClass":"pl-s1"}],[],[{"start":16,"end":27,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":30,"end":35,"cssClass":"pl-s1"},{"start":36,"end":53,"cssClass":"pl-en"}],[{"start":20,"end":24,"cssClass":"pl-en"},{"start":25,"end":36,"cssClass":"pl-en"},{"start":37,"end":49,"cssClass":"pl-s1"},{"start":51,"end":55,"cssClass":"pl-s1"},{"start":56,"end":58,"cssClass":"pl-s1"},{"start":59,"end":65,"cssClass":"pl-s1"}],[],[],[{"start":16,"end":31,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-c1"},{"start":34,"end":48,"cssClass":"pl-en"},{"start":49,"end":60,"cssClass":"pl-s1"}],[],[{"start":16,"end":19,"cssClass":"pl-s1"},{"start":20,"end":44,"cssClass":"pl-en"},{"start":45,"end":49,"cssClass":"pl-s1"},{"start":51,"end":66,"cssClass":"pl-s1"}],[],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":27,"cssClass":"pl-s1"},{"start":28,"end":31,"cssClass":"pl-c1"},{"start":32,"end":38,"cssClass":"pl-s1"},{"start":39,"end":51,"cssClass":"pl-en"},{"start":52,"end":59,"cssClass":"pl-s1"},{"start":60,"end":65,"cssClass":"pl-v"}],[],[{"start":16,"end":22,"cssClass":"pl-s1"},{"start":23,"end":28,"cssClass":"pl-en"}],[{"start":20,"end":69,"cssClass":"pl-s"},{"start":64,"end":66,"cssClass":"pl-cce"}],[{"start":20,"end":37,"cssClass":"pl-s1"}],[{"start":20,"end":30,"cssClass":"pl-s1"}],[{"start":20,"end":34,"cssClass":"pl-en"},{"start":35,"end":38,"cssClass":"pl-s1"},{"start":40,"end":55,"cssClass":"pl-s1"},{"start":55,"end":56,"cssClass":"pl-c1"},{"start":56,"end":61,"cssClass":"pl-c1"}],[],[],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":24,"cssClass":"pl-s1"}],[],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":22,"cssClass":"pl-en"},{"start":23,"end":33,"cssClass":"pl-s1"}],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":15,"cssClass":"pl-en"},{"start":16,"end":19,"cssClass":"pl-s1"},{"start":21,"end":34,"cssClass":"pl-s1"},{"start":34,"end":35,"cssClass":"pl-c1"},{"start":35,"end":39,"cssClass":"pl-c1"}],[{"start":8,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":24,"end":37,"cssClass":"pl-s1"},{"start":38,"end":40,"cssClass":"pl-c1"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":19,"cssClass":"pl-c1"},{"start":20,"end":23,"cssClass":"pl-s1"},{"start":24,"end":32,"cssClass":"pl-en"}],[{"start":12,"end":25,"cssClass":"pl-s1"},{"start":27,"end":31,"cssClass":"pl-s1"},{"start":32,"end":34,"cssClass":"pl-s1"},{"start":35,"end":39,"cssClass":"pl-s1"},{"start":41,"end":45,"cssClass":"pl-s1"},{"start":46,"end":48,"cssClass":"pl-s1"},{"start":49,"end":59,"cssClass":"pl-s1"},{"start":62,"end":63,"cssClass":"pl-c1"},{"start":64,"end":68,"cssClass":"pl-s1"},{"start":69,"end":71,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":25,"cssClass":"pl-en"},{"start":26,"end":30,"cssClass":"pl-s1"},{"start":31,"end":33,"cssClass":"pl-s1"},{"start":35,"end":48,"cssClass":"pl-v"}],[{"start":16,"end":19,"cssClass":"pl-k"},{"start":20,"end":25,"cssClass":"pl-s1"},{"start":26,"end":28,"cssClass":"pl-c1"},{"start":29,"end":33,"cssClass":"pl-s1"},{"start":34,"end":36,"cssClass":"pl-s1"},{"start":37,"end":43,"cssClass":"pl-s1"}],[{"start":20,"end":33,"cssClass":"pl-s1"},{"start":34,"end":35,"cssClass":"pl-c1"},{"start":36,"end":43,"cssClass":"pl-en"},{"start":44,"end":58,"cssClass":"pl-en"},{"start":59,"end":64,"cssClass":"pl-s1"},{"start":67,"end":80,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":28,"cssClass":"pl-s1"}],[],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":18,"cssClass":"pl-en"},{"start":19,"end":29,"cssClass":"pl-s1"}]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/Qiskit/qiskit/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"basis_translator.py","displayUrl":"https://github.com/Qiskit/qiskit/blob/main/qiskit/transpiler/passes/basis/basis_translator.py?raw=true","headerInfo":{"blobSize":"28.9 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"c38d658","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2FQiskit%2Fqiskit%2Fblob%2Fmain%2Fqiskit%2Ftranspiler%2Fpasses%2Fbasis%2Fbasis_translator.py","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"677","truncatedSloc":"572"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Python","languageID":303,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/Qiskit/qiskit/blob/main/qiskit/transpiler/passes/basis/basis_translator.py","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/Qiskit/qiskit/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/Qiskit/qiskit/raw/main/qiskit/transpiler/passes/basis/basis_translator.py","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":4,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"logger","kind":"constant","ident_start":1142,"ident_end":1148,"extent_start":1142,"extent_end":1178,"fully_qualified_name":"logger","ident_utf16":{"start":{"line_number":38,"utf16_col":0},"end":{"line_number":38,"utf16_col":6}},"extent_utf16":{"start":{"line_number":38,"utf16_col":0},"end":{"line_number":38,"utf16_col":36}}},{"name":"BasisTranslator","kind":"class","ident_start":1187,"ident_end":1202,"extent_start":1181,"extent_end":20162,"fully_qualified_name":"BasisTranslator","ident_utf16":{"start":{"line_number":41,"utf16_col":6},"end":{"line_number":41,"utf16_col":21}},"extent_utf16":{"start":{"line_number":41,"utf16_col":0},"end":{"line_number":431,"utf16_col":53}}},{"name":"__init__","kind":"function","ident_start":4606,"ident_end":4614,"extent_start":4602,"extent_end":5900,"fully_qualified_name":"BasisTranslator.__init__","ident_utf16":{"start":{"line_number":104,"utf16_col":8},"end":{"line_number":104,"utf16_col":16}},"extent_utf16":{"start":{"line_number":104,"utf16_col":4},"end":{"line_number":129,"utf16_col":73}}},{"name":"run","kind":"function","ident_start":5910,"ident_end":5913,"extent_start":5906,"extent_end":13408,"fully_qualified_name":"BasisTranslator.run","ident_utf16":{"start":{"line_number":131,"utf16_col":8},"end":{"line_number":131,"utf16_col":11}},"extent_utf16":{"start":{"line_number":131,"utf16_col":4},"end":{"line_number":297,"utf16_col":18}}},{"name":"apply_translation","kind":"function","ident_start":11168,"ident_end":11185,"extent_start":11164,"extent_end":13156,"fully_qualified_name":"BasisTranslator.apply_translation","ident_utf16":{"start":{"line_number":249,"utf16_col":12},"end":{"line_number":249,"utf16_col":29}},"extent_utf16":{"start":{"line_number":249,"utf16_col":8},"end":{"line_number":288,"utf16_col":30}}},{"name":"_replace_node","kind":"function","ident_start":13418,"ident_end":13431,"extent_start":13414,"extent_end":16864,"fully_qualified_name":"BasisTranslator._replace_node","ident_utf16":{"start":{"line_number":299,"utf16_col":8},"end":{"line_number":299,"utf16_col":21}},"extent_utf16":{"start":{"line_number":299,"utf16_col":4},"end":{"line_number":364,"utf16_col":64}}},{"name":"_extract_basis","kind":"function","ident_start":16900,"ident_end":16914,"extent_start":16896,"extent_end":16953,"fully_qualified_name":"BasisTranslator._extract_basis","ident_utf16":{"start":{"line_number":367,"utf16_col":8},"end":{"line_number":367,"utf16_col":22}},"extent_utf16":{"start":{"line_number":367,"utf16_col":4},"end":{"line_number":368,"utf16_col":22}}},{"name":"_","kind":"function","ident_start":16992,"ident_end":16993,"extent_start":16988,"extent_end":17351,"fully_qualified_name":"BasisTranslator._","ident_utf16":{"start":{"line_number":371,"utf16_col":8},"end":{"line_number":371,"utf16_col":9}},"extent_utf16":{"start":{"line_number":371,"utf16_col":4},"end":{"line_number":377,"utf16_col":57}}},{"name":"_","kind":"function","ident_start":17390,"ident_end":17391,"extent_start":17386,"extent_end":17877,"fully_qualified_name":"BasisTranslator._","ident_utf16":{"start":{"line_number":380,"utf16_col":8},"end":{"line_number":380,"utf16_col":9}},"extent_utf16":{"start":{"line_number":380,"utf16_col":4},"end":{"line_number":390,"utf16_col":57}}},{"name":"_extract_basis_target","kind":"function","ident_start":17887,"ident_end":17908,"extent_start":17883,"extent_end":20162,"fully_qualified_name":"BasisTranslator._extract_basis_target","ident_utf16":{"start":{"line_number":392,"utf16_col":8},"end":{"line_number":392,"utf16_col":29}},"extent_utf16":{"start":{"line_number":392,"utf16_col":4},"end":{"line_number":431,"utf16_col":53}}},{"name":"StopIfBasisRewritable","kind":"class","ident_start":20171,"ident_end":20192,"extent_start":20165,"extent_end":20281,"fully_qualified_name":"StopIfBasisRewritable","ident_utf16":{"start":{"line_number":434,"utf16_col":6},"end":{"line_number":434,"utf16_col":27}},"extent_utf16":{"start":{"line_number":434,"utf16_col":0},"end":{"line_number":435,"utf16_col":76}}},{"name":"BasisSearchVisitor","kind":"class","ident_start":20290,"ident_end":20308,"extent_start":20284,"extent_end":23698,"fully_qualified_name":"BasisSearchVisitor","ident_utf16":{"start":{"line_number":438,"utf16_col":6},"end":{"line_number":438,"utf16_col":24}},"extent_utf16":{"start":{"line_number":438,"utf16_col":0},"end":{"line_number":522,"utf16_col":37}}},{"name":"__init__","kind":"function","ident_start":20421,"ident_end":20429,"extent_start":20417,"extent_end":20988,"fully_qualified_name":"BasisSearchVisitor.__init__","ident_utf16":{"start":{"line_number":441,"utf16_col":8},"end":{"line_number":441,"utf16_col":16}},"extent_utf16":{"start":{"line_number":441,"utf16_col":4},"end":{"line_number":455,"utf16_col":31}}},{"name":"discover_vertex","kind":"function","ident_start":20998,"ident_end":21013,"extent_start":20994,"extent_end":22065,"fully_qualified_name":"BasisSearchVisitor.discover_vertex","ident_utf16":{"start":{"line_number":457,"utf16_col":8},"end":{"line_number":457,"utf16_col":23}},"extent_utf16":{"start":{"line_number":457,"utf16_col":4},"end":{"line_number":477,"utf16_col":39}}},{"name":"examine_edge","kind":"function","ident_start":22075,"ident_end":22087,"extent_start":22071,"extent_end":22600,"fully_qualified_name":"BasisSearchVisitor.examine_edge","ident_utf16":{"start":{"line_number":479,"utf16_col":8},"end":{"line_number":479,"utf16_col":20}},"extent_utf16":{"start":{"line_number":479,"utf16_col":4},"end":{"line_number":490,"utf16_col":45}}},{"name":"edge_relaxed","kind":"function","ident_start":22610,"ident_end":22622,"extent_start":22606,"extent_end":22789,"fully_qualified_name":"BasisSearchVisitor.edge_relaxed","ident_utf16":{"start":{"line_number":492,"utf16_col":8},"end":{"line_number":492,"utf16_col":20}},"extent_utf16":{"start":{"line_number":492,"utf16_col":4},"end":{"line_number":496,"utf16_col":49}}},{"name":"edge_cost","kind":"function","ident_start":22799,"ident_end":22808,"extent_start":22795,"extent_end":23564,"fully_qualified_name":"BasisSearchVisitor.edge_cost","ident_utf16":{"start":{"line_number":498,"utf16_col":8},"end":{"line_number":498,"utf16_col":17}},"extent_utf16":{"start":{"line_number":498,"utf16_col":4},"end":{"line_number":517,"utf16_col":62}}},{"name":"basis_transforms","kind":"function","ident_start":23588,"ident_end":23604,"extent_start":23584,"extent_end":23698,"fully_qualified_name":"BasisSearchVisitor.basis_transforms","ident_utf16":{"start":{"line_number":520,"utf16_col":8},"end":{"line_number":520,"utf16_col":24}},"extent_utf16":{"start":{"line_number":520,"utf16_col":4},"end":{"line_number":522,"utf16_col":37}}},{"name":"_basis_search","kind":"function","ident_start":23705,"ident_end":23718,"extent_start":23701,"extent_end":25924,"fully_qualified_name":"_basis_search","ident_utf16":{"start":{"line_number":525,"utf16_col":4},"end":{"line_number":525,"utf16_col":17}},"extent_utf16":{"start":{"line_number":525,"utf16_col":0},"end":{"line_number":580,"utf16_col":14}}},{"name":"_compose_transforms","kind":"function","ident_start":25931,"ident_end":25950,"extent_start":25927,"extent_end":29141,"fully_qualified_name":"_compose_transforms","ident_utf16":{"start":{"line_number":583,"utf16_col":4},"end":{"line_number":583,"utf16_col":23}},"extent_utf16":{"start":{"line_number":583,"utf16_col":0},"end":{"line_number":663,"utf16_col":24}}},{"name":"_get_example_gates","kind":"function","ident_start":29148,"ident_end":29166,"extent_start":29144,"extent_end":29612,"fully_qualified_name":"_get_example_gates","ident_utf16":{"start":{"line_number":666,"utf16_col":4},"end":{"line_number":666,"utf16_col":22}},"extent_utf16":{"start":{"line_number":666,"utf16_col":0},"end":{"line_number":676,"utf16_col":30}}},{"name":"recurse","kind":"function","ident_start":29188,"ident_end":29195,"extent_start":29184,"extent_end":29580,"fully_qualified_name":"recurse","ident_utf16":{"start":{"line_number":667,"utf16_col":8},"end":{"line_number":667,"utf16_col":15}},"extent_utf16":{"start":{"line_number":667,"utf16_col":4},"end":{"line_number":674,"utf16_col":28}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/Qiskit/qiskit/branches":{"post":"S0NVn3kt2Gg6CxHT41GzQP8L904EWXQwUinje_mrA_3SeNkaueEpx6P9mZdqaOfA-ptFEQ_8vyRy5zHCJ4ka2Q"},"/repos/preferences":{"post":"jfeVl7VFDwEwWZ0cB3WhoODAde8NN8WtvFKPw-Uj8S9ubaNrF6Ew7jH1aI_Bovrg8ztrWnWyY82d8b8xFIy4rw"}}},"title":"qiskit/qiskit/transpiler/passes/basis/basis_translator.py at main ยท Qiskit/qiskit"}